Method of receiving a broadcasting signal and receiving system for receiving a broadcasting signal

ABSTRACT

A broadcast signal reception method and a reception system are provided. The reception system includes a first processor, a second processor, and a storage medium. The first processor receives and processes a signaling table, the signaling table comprising first signaling information including access information of Non-Real-Time (NRT) service data and second signaling information including media object association information of the NRT service data. The second processor receives the NRT service data and processes a file including the received NRT service data based on the access information and the media object association information processed by the first processor. The storage medium stores the processed file of the NRT service data.

This application claims the benefit of U.S. Provisional Application No.61/059,811, filed on Jun. 9, 2008, which is hereby incorporated byreference. Also, this application claims the benefit of U.S. ProvisionalApplication No. 61/076,684, filed on Jun. 29, 2008, which is herebyincorporated by reference. This application also claims the benefit ofU.S. Provisional Application No. 61/115,888, filed on Nov. 18, 2008,which is hereby incorporated by reference. This application also claimsthe benefit of U.S. Provisional Application No. 61/121,178, filed onDec. 9, 2008, which is hereby incorporated by reference. Thisapplication also claims the benefit of U.S. Provisional Application No.61/138,494, filed on Dec. 17, 2008, which is hereby incorporated byreference. This application also claims the benefit of U.S. ProvisionalApplication No. 61/145,104, filed on Jan. 15, 2009, which is herebyincorporated by reference. This application also claims the benefit ofU.S. Provisional Application No. 61/153,973, filed on Feb. 20, 2009,which is hereby incorporated by reference. This application also claimsthe benefit of U.S. Provisional Application No. 61/153,985, filed onFeb. 20, 2009, which is hereby incorporated by reference. And thisapplication claims the priority benefit of Korean Application No.10-2009-0050710, filed on Jun. 8, 2009, which is hereby incorporated byreference.

BACKGROUND OF THE INVENTION

1. The field of the invention

The present invention relates to a method and apparatus for receiving abroadcast signal transmitted in non-real time and a broadcast signaltransmitted in real time.

2. Description of the Related Art

A digital television (DTV) can provide not only video and audioservices, which are conventional TV services, but can now also providevarious other services. For example, the DTV can provide an ElectronicProgram Guide (EPG) or the like to the user and can simultaneouslyprovide broadcast services received through 2 or more channels.Especially, the number of services that a reception system can providehas been significantly increased since the reception system has beenequipped with a large-capacity storage device and has been connected tothe Internet or data communication channels which enable bidirectionalcommunication.

In such environments, recently, a method for transmitting and receivingbroadcast signals to provide a service combining a real-time broadcastservice and a non-real-time broadcast service and a reception systemthat enables implementation of the method are under development.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a broadcast signalreception method and a reception system that can efficiently combine andprovide a real-time broadcast service and a non-real-time broadcastservice.

Another object of the present invention is to provide a broadcast signalreception method and a reception system that enable reception of anIP-based non-real-time service in an MPEG-2-based broadcast system.

Another object of the present invention is to provide a broadcast signalreception method and a reception system in which an IP-basednon-real-time service access method is signaled in order to receive anIP-based non-real-time service in an MPEG-2-based broadcast system.

Additional advantages, objects, and features of the invention will beset forth in part in the description which follows and in part willbecome apparent to those having ordinary skill in the art uponexamination of the following or may be learned from practice of theinvention. The objectives and other advantages of the invention may berealized and attained by the structure particularly pointed out in thewritten description and claims hereof as well as the appended drawings.

A broadcast signal reception method according to an embodiment of thepresent invention to achieve the above objects may include receiving andprocessing first signaling information including access information ofNon-Real-Time (NRT) service data, receiving and processing secondsignaling information including media object association information ofthe NRT service data, receiving the NRT service data based on the accessinformation included in the first signaling information, and processingthe received NRT service data according to the media object associationinformation included in the second signaling information.

The first signaling information and the second signaling information arereceived in a signaling table for an NRT service.

The media object association information includes at least one ofcontainer information of the NRT service data, encoding information ofthe NRT service data, and a decoding parameter of a file thatconstitutes the NRT service.

The media object association information is provided in text formatusing at least one field of a descriptor that is received in thesignaling table.

The media object association information is provided in a format of astream or a file and access information of the stream or file isreceived in the descriptor.

When the media object association information is provided in the fileformat, parameters including time information and an identifier of aFLUTE session that carries the file are additionally received in thedescriptor.

When the NRT service is a fixed NRT service, the signaling table and thefile that constitutes the NRT service are received after IPpacketization, addressable section packetization, and MPEG-2 TSpacketization are sequentially performed.

When the NRT service is a mobile NRT service, the signaling table andthe file that constitutes the NRT service are IP-packetized to bereceived in one ensemble.

A reception system according to an embodiment of the present inventionincludes a first processor, a second processor, and a storage medium.The first processor receives and processes a signaling table, thesignaling table comprising first signaling information including accessinformation of Non-Real-Time (NRT) service data and second signalinginformation including media object association information of the NRTservice data. The second processor receives the NRT service data andprocesses a file including the received NRT service data based on theaccess information and the media object association informationprocessed by the first processor. The storage medium stores theprocessed file of the NRT service data.

Other objects, features, and advantages of the present invention will beapparent through a detailed description of the embodiments withreference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a furtherunderstanding of the invention and are incorporated in and constitute apart of this application, illustrate embodiment(s) of the invention andtogether with the description serve to explain the principle of theinvention. In the drawings:

FIG. 1 illustrates a concept of providing a real-time (RT) service and anon-real-time (NRT) service according to the present invention;

FIG. 2 illustrates relations between an NRT service, content, and files;

FIG. 3 illustrates an embodiment of a protocol stack for a fixed NRTservice according to the present invention;

FIG. 4 illustrates an embodiment of a bitstream syntax structure of avirtual channel table according to the present invention;

FIG. 5 illustrates an embodiment of service type field values in thevirtual channel table of FIG. 4 and respective meanings of the values;

FIG. 6 illustrates another embodiment of values allocated to a servicetype field in the virtual channel table of FIG. 4 and respectivemeanings of the values;

FIG. 7 illustrates an embodiment of a bitstream syntax structure of anNRT service descriptor included in a virtual channel loop of the virtualchannel table of FIG. 4;

FIG. 8 illustrates an embodiment of a procedure for obtaining accessinformation of an IP stream that carries an NRT service signalingchannel using a PSI/PSIP table according to the present invention;

FIG. 9 illustrates an embodiment of the bitstream syntax structure of anNST according to the present invention;

FIG. 10 illustrates an embodiment of values allocated to a FLUTE sessiontype field in the NST of FIG. 9 and respective meanings of the values;

FIG. 11 illustrates an embodiment of a bitstream syntax structure of anNRT FLUTE file delivery descriptor included in a FLUTE session loop ofthe NST of FIG. 9;

FIG. 12 illustrates an embodiment of a bitstream syntax structure of anNRT media object association descriptor included in the FLUTE sessionloop of the NST of FIG. 9;

FIG. 13 illustrates an embodiment of values allocated to anobject_association_type field of the NRT media object associationdescriptor of FIG. 12 and respective meanings of the values;

FIG. 14 and FIG. 15 illustrate another embodiment of the bitstreamsyntax structure of the NST section according to the present invention;

FIG. 16 illustrates an embodiment of the bitstream syntax structure of acomponent_descriptor( ) according to the present invention;

FIG. 17 illustrates an embodiment of the bitstream syntax structure ofFLUTE file delivery data using the component_descriptor( ) of FIG. 16;

FIG. 18 illustrates an embodiment of the bitstream syntax structure ofmedia object association information data using thecomponent_descriptor( ) of FIG. 16;

FIG. 19 illustrates another embodiment of the bitstream syntax structureof media object association information data using thecomponent_descriptor( ) of FIG. 16;

FIG. 20 is a flow chart illustrating an embodiment of a procedure forreceiving an IP stream that carries an NRT service signaling channelaccording to the present invention;

FIG. 21 is a flow chart illustrating an embodiment of a procedure forreceiving an NRT service according to the present invention;

FIG. 22 illustrates an embodiment of the bitstream syntax structure ofan NRT Content Table (NCT) according to the present invention;

FIG. 23 is a block diagram illustrating an embodiment of a receptionsystem that provides a fixed NRT service according to the presentinvention;

FIG. 24 illustrates an embodiment of a protocol stack for a mobile NRTservice according to the present invention;

FIG. 25 illustrates an embodiment of a data group structure according tothe present invention;

FIG. 26 illustrates a structure of an RS frame including a mobile NRTservice according to an embodiment of the present invention;

FIG. 27 illustrates an embodiment of an M/H frame structure fortransmitting and receiving mobile service data according to the presentinvention;

FIG. 28 illustrates a data transmission structure in a physical layeraccording to an embodiment of the present invention in an example whereFIC data is included in each data group;

FIG. 29 illustrates a hierarchical signaling structure according to anembodiment of the present invention;

FIG. 30 illustrates an embodiment of a bitstream syntax structure of anSMT section according to the present invention; and

FIG. 31 is a block diagram illustrating an embodiment of a receptionsystem that provides a mobile NRT service according to the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

Preferred embodiments of the invention, which can achieve the aboveobjects, will now be described with reference to the accompanyingdrawings. The configuration and operation of the invention, illustratedin the drawings and described below with reference to the drawings, willbe described using at least one embodiment without limiting the spiritand the essential configuration and operation of the invention.

Although most terms of elements in the present invention have beenselected from general ones widely used in the art taking intoconsideration their functions in the invention, the terms may be changeddepending on the intention or convention of those skilled in the art orthe introduction of new technology. Some terms have been arbitrarilyselected by the applicant and their meanings are explained in detail inthe following description as needed. Thus, the definitions of the termsused in the invention should be determined based on the whole content ofthis specification together with the intended meanings of the termsrather than their simple names or meanings.

The present invention aims to provide services such that the receivercan receive a broadcast service in non-real time through a medium suchas a terrestrial or a cable. In the present invention, for ease ofconvenience, such a broadcast service is referred to as an “NRT service”and broadcast service data in this case is referred to as “NRT servicedata”.

The received NRT service data is stored in a storage medium and is thendisplayed on a display at a preset time or according to a request fromthe user. In an embodiment, the NRT service data is received in a fileformat and stored in the storage medium. In an embodiment, the storagemedium is an internal HDD installed in a broadcast reception device. Inanother embodiment, the storage medium may be a Universal Serial Bus(USB) memory or an external HDD externally connected to the broadcastreception device.

Signaling information is required to receive files which constitute theNRT service and to store the files in a storage medium. In the presentinvention, the signaling information is referred to as “NRT servicesignaling information” or “NRT service signaling data”.

An NRT service according to the present invention is mainly classifiedinto a fixed NRT service and a mobile NRT service. In the presentinvention, the fixed NRT service is described first and the mobile NRTservice is then described.

Fixed NRT Service

In an embodiment of the present invention, in order to provide a fixedNRT service, an NRT service in a file format is IP-packetized in the IPlayer and is then transmitted in an MPEG-2 TS format through a specificvirtual channel.

In the present invention, information indicating whether or not an NRTservice is present in a virtual channel and NRT service identificationinformation are signaled through an MPEG-2-based Program SpecificInformation/Program and System Information Protocol (PSI/PSIP) table,for example, through a Virtual Channel Table (VCT).

In an embodiment of the present invention, an NRT service signalingchannel that carries NRT service signaling data for signaling IP-basedNRT service access information is IP-packetized into a specific IPstream in the IP layer and is then transmitted in an MPEG-2 TS format.

FIG. 1 illustrates how a Real-Time (RT) service and a Non-Real Time(NRT) service are provided.

The NRT service is a service that is provided such that RT service datatransmitted in non-real time is received using a specific broadcastchannel (specifically, extra bandwidth in a broadcast channel) and thereceived data is stored and thereafter provided to the user when needed.The transfer rate of the NRT service is low. Thus, the NRT service isgenerally used for playback after storage rather than for real-timeviewing.

The RT service is a broadcast service in which broadcast service data isreceived in real time and is provided to the user, similar to currentterrestrial broadcasts.

For example, a broadcast station can transmit broadcast service data inreal time and transmit news clips, weather information, advertisements,push VOD, or the like in non-real time. The NRT service may provide notonly such news clips, weather information, advertisements, and push VODbut also specific scenes included in a real-time broadcast service.

A conventional broadcast receiver (i.e., a legacy device) can receiveand process RT services but cannot receive and process NRT services.

A broadcast receiver (i.e., an NRT device) can combine NRT services andRT services to provide a variety of services.

In an embodiment, one NRT service according to the present inventionincludes one or more content (or NRT content) and one content includesone or more files as shown in FIG. 2. The terms “file” and “object” havethe same meaning in the description of the present invention.

The NRT content is the minimum unit that can be presented independently.For example, when a news program, which includes an economic newssection, a political news section, and a life news section, is providedin non-real time, the news program may be an NRT service and each of theeconomic news section, the political news section, and the life newssection may be an NRT content. Each of the economic news section, thepolitical news section, and the life news section may include at leastone file.

Herein, the NRT service can be transmitted in an MPEG-2 Transport Stream(TS) packet format through a dedicated broadcast channel or the samebroadcast channel as the RT service. In this case, a unique PID istransmitted after being allocated to a TS packet of the NRT service datain order to identify the NRT service. In an embodiment of the presentinvention, IP-based NRT service data is packetized into an MPEG-2 TSpacket to be transmitted.

Furthermore, NRT service signaling data required to receive the NRTservice data is transmitted through an NRT service signaling channel.The NRT service signaling channel is transmitted through a specific IPstream in the IP layer. Here, the IP stream is also packetized into anMPEG-2 TS packet to be transmitted. In an embodiment of the presentinvention, the NRT service signaling data transmitted through the NRTservice signaling channel provides access information of NRT servicesthat operate in the IP layer.

More specifically, in the broadcast station, NRT content/files arepacketized according to a file transfer protocol scheme and are againpacketized according to an Asynchronous Layered Coding/Layered CodingTransport (ALC/LCT) scheme as shown in FIG. 3. The packetized ALC/LCTdata is again packetized according to a UDP scheme and the packetizedALC/LCT/UDP data is again packetized into ALC/LCT/UDP/IP data accordingto an IP scheme. In the present invention, the packetized ALC/LCT/UDP/IPdata is referred to as an “IP datagram” for ease of explanation.

In addition, NRT service signaling information required to receive theNRT content/files is transmitted through an NRT service signalingchannel. Here, the NRT service signaling channel is packetized accordingto a User Datagram Protocol (UDP) scheme and the packetized UDP data isagain packetized into UDP/IP data according to an IP scheme. In thepresent invention, the UDP/IP data is also referred to as an “IPdatagram” for ease of explanation. In an embodiment, the NRT servicesignaling channel is multicast after being encapsulated in an IPdatagram having a well-known IP destination address and a well-knowndestination UDP port number.

In an embodiment of the present invention, IP datagrams of the NRTservice signaling channel and the NRT service are encapsulated in anaddressable section structure and again packetized in an MPEG-2 TSformat. Specifically, one addressable section structure has a format inwhich a section header and a CRC checksum are added to one IP datagram.This addressable section structure format complies with a DigitalStorage Media Command and Control (DSM-CC) section format for privatedata transmission. Thus, the addressable section is also referred to asa “DSM-CC addressable section”. A 188-byte MPEG-2 TS packet can becreated by dividing the addressable section data into 184-byte units andadding a 4-byte MPEG header to each 184-byte unit. Here, a valueallocated to a PID of the MPEG header is a unique value that canidentify TS packets that carry the NRT service signaling channel and theNRT service.

Program Specific Information (PSI) and Program and System InformationProtocol (PSIP) table section data is also packetized into MPEG-2 TSpackets.

An embodiment of the PSI table may include a Program Map Table (PMT), aProgram Association Table (PAT), or the like and an embodiment of thePSIP table may include a Virtual Channel Table (VCT), a System TimeTable (STT), a Rating Region Table (RRT), an Extended Text Table (ETT),a Direct Channel Change Table (DCCT), a Direct Channel Change SelectionCode Table (DCCSCT), an Event Information Table (EIT), and a MasterGuide Table (MGT).

The MPEG-2 TS packets are modulated according to a predeterminedtransmission scheme, for example, a VSB transmission scheme, in aphysical layer and are then transmitted to the reception system.

In an embodiment of the present invention, whether or not an NRT serviceis transmitted is signaled through a PSI/PSIP table. For example,whether or not an NRT service is transmitted is signaled through aVirtual Channel Table (VCT).

FIG. 4 illustrates a VCT section syntax structure according to anembodiment of the present invention.

The VCT section transmits information on virtual channels, such aschannel information for selecting channels and information such aspacket identification (PID) numbers for receiving the audio and/or videodata. More specifically, when the VCT section is parsed, the PID of theaudio/video data of the broadcast program may be known. Herein, thecorresponding audio/video data are transmitted within the channel alongwith the channel name and the channel number.

The VCT section syntax is configured by including at least one of atable_id field, a section_syntax_indicator field, a private_indicatorfield, a section_length field, a transport_stream_id field, aversion_number field, a current_next_indicator field, a section_numberfield, a last_section_number field, a protocol_version field, and anum_channels_in_section field.

The VCT section syntax further includes a first ‘for’ loop (i.e.,virtual channel loop) repetition statement that is repeated as much asthe num_channels_in_section field value. The first repetition statementmay include at least one of a short_name field, a major_channel_numberfield, a minor_channel_number field, a modulation_mode field, acarrier_frequency field, a channel_TSID field, a program_number field,an ETM_location field, an access_controlled field, a hidden field, aservice_type field, a source_id field, a descriptor_length field, and asecond ‘for’ loop statement that is repeated as much as the number ofdescriptors included in the first repetition statement. Herein, thesecond repetition statement will be referred to as a first descriptorloop for simplicity. The descriptor descriptors( ) included in the firstdescriptor loop is separately applied to each virtual channel.

Furthermore, the VCT section syntax may further include anadditional_descriptor_length field, and a third ‘for’ loop statementthat is repeated as much as the number of descriptors additionally addedto the VCT. For simplicity of the description of the present invention,the third repetition statement will be referred to as a seconddescriptor loop. The descriptor additional_descriptors( ) included inthe second descriptor loop is commonly applied to all virtual channelsdescribed in the VCT.

As described above, referring to FIG. 4, the table_id field indicates aunique identifier (or identification) (ID) that can identify theinformation being transmitted to the table as the VCT. Morespecifically, the table_id field indicates a value informing that thetable corresponding to this section is a VCT. For example, a 0xC8 valuemay be given to the table_id field.

The version_number field indicates the version number of the VCT. Thesection_number field indicates the number of this section. Thelast_section_number field indicates the number of the last section of acomplete VCT. And, the num_channel_in_section field designates thenumber of the overall virtual channel existing within the VCT section.

Furthermore, in the first ‘for’ loop repetition statement, theshort_name field indicates the name of a virtual channel. Themajor_channel_number field indicates a ‘major’ channel number associatedwith the virtual channel defined within the first repetition statement,and the minor_channel_number field indicates a ‘minor’ channel number.More specifically, each of the channel numbers should be connected tothe major and minor channel numbers, and the major and minor channelnumbers are used as user reference numbers for the corresponding virtualchannel.

The program_number field is shown for connecting the virtual channelhaving an MPEG-2 program association table (PAT) and program map table(PMT) defined therein, and the program_number field matches the programnumber within the PAT/PMT. Herein, the PAT describes the elements of aprogram corresponding to each program number, and the PAT indicates thePID of a transport packet transmitting the PMT. The PMT describedsubordinate information, and a PID list of the transport packet throughwhich a program identification number and a separate bit sequence, suchas video and/or audio data configuring the program, are beingtransmitted.

The service_type field indicates a service type within a correspondingvirtual channel. In an embodiment, the virtual channel may include atleast one RT service and at least one NRT service including audio and/orvideo. In this case, service type values may be allocated as shown inFIG. 5 and a value of 0x04 representing an ATSC-data-only service may beused to indicate that an NRT service is provided through the virtualchannel.

In another embodiment, the virtual channel may include only at least oneNRT service. In this case, as shown in FIG. 6, a new service_type fieldvalue of 0x05 may be defined to indicate that an NRT service is providedthrough the virtual channel.

The source_id field indicates a program source connected to thecorresponding virtual channel.

Herein, the term “source” refers to a specific source such as a video,text, data, or audio source. The source_id field has a unique value in atransport stream in which a VCT is transmitted.

On the other hand, a descriptor loop (descriptor{ }) in the loopstatement of a next ‘for’ loop may include a service locationdescriptor.

This service location descriptor may include a stream type field, anElementary_PID field, a language code field, or the like of eachelementary stream.

FIG. 7 illustrates an embodiment for a syntax structure of an NRTservice descriptor “NRT_service_descriptor( )” that is transmittedwithin the first descriptor loop of the VCT when the service_type fieldindicates that an NRT service is transmitted through the correspondingvirtual channel.

The NRT service descriptor “NRT_service_descriptor( )” is applied onlyto the corresponding virtual channel and provides identificationinformation of NRT services included in the corresponding virtualchannel.

In FIG. 7, a descriptor_tag field is a descriptor identifier and anidentifier that identifies an NRT service descriptor can be set in thisfield.

A descriptor_length field represents, in bytes, the remaining length ofthe descriptor (from a field next to the descriptor_length field to theend of this descriptor).

A num_NRT_services field can be allocated 8 bits and indicates thenumber of NRT services included in the virtual channel. Thereafter, the‘for’ loop is executed the same number of times as the number of NRTservices corresponding to the num_NRT_services field value to indicateidentification information of each NRT service included in the virtualchannel. That is, the ‘for’ loop may include an NRT_service_id field, anNRT_service_short_name field, an NRT_service_category field, and anNRT_service_status field.

The NRT_service_id field is allocated 16 bits and indicates a value thatcan uniquely identify the corresponding NRT service in the virtualchannel. (That is, this field indicates a 16-bit unsigned integer thatshall uniquely identify this NRT service within the scope of thisvirtual channel.)

The NRT_service_short_name field includes a short name of the NRTservice. This field may be filled with null data when the NRT servicehas no short name.

The NRT_service_category field is allocated 5 bits and indicates thetype of a service that is transmitted in the NRT service.

The NRT_service_status field is allocated 2 bits and indicates thestatus of the NRT service. For example, the NRT_service_status fieldindicates that the corresponding NRT service is in an active state whenthe most significant bit of the NRT_service_status field is set to “1”and indicates that the corresponding NRT service is in an inactive statewhen the most significant bit is set to “0”. In addition, theNRT_service_status field indicates that the corresponding NRT service isin a hidden state when the least significant bit of theNRT_service_status field is set to “1” and indicates that thecorresponding NRT service is not in a hidden state when the leastsignificant bit is set to “0”. (That is, the most significant bit shallindicate whether this NRT service is active (when set to 1) or inactive(when set to 0) and the least significant bit shall indicate whetherthis NRT service is hidden (when set to 1) or not (when set to 0).)

FIG. 8 illustrates a method in which an NRT service is received andprovided using an ATSC A/90 standard for carrying (or transmitting) adata broadcast stream and an ATSC A/92 standard for transmitting an IPmulticast stream in a reception system according to the presentinvention.

That is, information of a stream that constitutes each virtual channelis signaled in an ES_loop of a PMT or a service location descriptor of aVCT. For example, an NRT service stream can be transmitted through thevirtual channel in the case where the service type of the VCT is 0x02(i.e., digital A/V/Data), 0x04 (i.e., data only), or 0x05 (i.e., NRTonly service only), or as shown in FIG. 5 or FIG. 6. Here, when thestream_type field included in the service location descriptor (or the ESloop of the PMT) has been allocated 0x95 (i.e., DST transmission), thisindicates that a data broadcast is transmitted. General A/V alone istransmitted if the service location descriptor includes no stream_typefield or is not 0x95. That is, if the stream_type field included in theservice location descriptor has a value of 0x95, the Elementary_PIDfield value is a PID of a Data Service Table (DST). Thus, the DST can bereceived through the Elementary_PID field.

The type of the application and details of a data broadcast streamtransmitted through this channel can be determined through the DST. Inthe present invention, an NRT application (i.e., an NRT service) isidentified using the DST.

That is, an App_id_description field of the DST specifies the format andanalysis of application identification bytes subsequent to this field.In an embodiment of the present invention, ‘0x0003’ is allocated to theApp_id_description field in order to identify the NRT application. Theillustrated number is only an example and does not limit the scope ofthe present invention.

If the App_id_description field value is ‘0x0003’, anApplication_id_byte value subsequent to this field is a service ID ofthe NRT application. A service ID of the NRT application may have a URIvalue that globally and uniquely identifies the corresponding service.

After the NRT application is identified as described above, a PID of anMPEG-2 TS packet separated from the IP datagram of the NRT servicesignaling channel is searched for through Tap information. Then, an IPdatagram that carries the NRT service signaling channel can be obtainedfrom MPEG-2 TS packets having the PID found through the tap informationand NRT service signaling data can be obtained from the obtained IPdatagram. Herein, well-known IP access information, i.e., a well-knownIP address and a well-known UDP port number can be used as the IP accessinformation of the NRT service signaling channel.

That is, an asynchronous IP stream is transmitted if aProtocol_encapsulation field value in the DST is 0x04 and a device_idvalue indicating the destination address is transmitted through aselector_bytes value if a Selector_type field value is 0x0102. Amultiprotocol_encaplsulation_descriptor is used in order to accuratelyanalyze the selector_bytes value and signals the number of valid bytesincluded in the device_id value. As a result, an IP multicast address(or address range) of the NRT service signaling channel transmittedthrough the PID can be determined through the Tap information.

Accordingly, the IP multicast address (or address range) is accessed toreceive an IP stream, i.e., an IP packet, and NRT service signaling datais extracted from the received IP packet.

NRT service data, i.e., NRT content/files, is received based on theextracted NRT service signaling data and the received data can be storedin a storage medium or can be displayed on a display.

In another embodiment of the present invention, the NRT service can besignaled using a new value, for example, 0x96 instead of 0x95 as thestream type field value of the DST. This embodiment aims to eliminatethe risk that the conventional receiver may malfunction with the NRTservice which is a new application, in the case where the conventionalreceiver operates by determining whether or not a data broadcast streamis present based only on whether or not a stream having a stream typevalue of 0x95 is present. In this case, if a new stream type is defined,it will be possible to allow the conventional receiver to ignore thisstream type, thereby guaranteeing backward compatibility.

On the other hand, in an embodiment, NRT service signaling datatransmitted through the NRT service signaling channel includes an NRTservice map table (or Service Table) (NST) that provides accessinformation of the NRT service. In an embodiment, the NST has a tableformat similar to the MPEG-2 private section format.

The NST can provide access information of IP-based NRT services includedin one virtual channel. For example, the NST can provide accessinformation of each of the FLUTE sessions configuring one NRT service.

In addition, the NST can provide information that is necessary forrendering content/files of an NRT service that is transmitted througheach FLUTE session. In an embodiment, the NST can provide containerinformation required to perform rendering of content/files that aretransmitted through each FLUTE session. In another embodiment, the NSTcan provide encoding information (for example, media/codec type)required to perform rendering of content/files that are transmittedthrough each FLUTE session. The NST can provide media decodingparameters required to perform rendering of content/files that aretransmitted through each FLUTE session.

The NRT service signaling data may further include a signaling tableother than the NST. In an embodiment, IP datagrams of the NRT servicesignaling channel have the same well-known IP address and well-known UDPport number. Therefore, the NST included in the NRT service signalingdata is identified through a table identifier. That is, the tableidentifier may be a table_id included in a header of the correspondingtable session or the corresponding table and the NST may be identifiedby further referring to a table_id_extension when needed.

Furthermore, whether one NST includes one session or a plurality ofsessions can be determined through a table_id field, a section_numberfield, and a last_section_field in the NST section. Then, thecorresponding table can be completed by combining sections having thesame table identifier after removing IP headers and UDP headers of IPdatagrams of the NRT service signaling channel. For example, the NST canbe completed by combining sections having a table identifier allocatedto the NST.

FIG. 9 illustrates an embodiment of a bitstream syntax structure of anNST section according to the present invention. The following is adetailed description of each field of the NST section.

In FIG. 9, a table_id field (8 bits) is a table identifier and anidentifier of the NST can be set in this field. In an embodiment, 0xDFis allocated to the table_id field in order to identify the NST.

A section_syntax_indicator field (1 bit) is an indicator that defines asession type (or format) of the NST.

A private_indicator field (1 bit) indicates whether or not the NSTcomplies with the private section.

A section_length field (12 bits) indicates a section length of the NST.

In addition, a source_id field of 16 bits may be allocated to theposition of the table_id_extension field and may then be used as onetable identifier that identifies the NST when the NST has been receivedthrough the NRT service signaling channel.

A version_number field (5 bits) indicates a version number of the NST.

A current_next_indicator field (1 bit) indicates whether informationincluded in the corresponding NST section is applicable currently or inthe future.

A section_number field (8 bits) indicates a current section number ofthe NST section.

A last_section_number field (8 bits) indicates a last section number ofthe NST.

An NST_protocol_version field (8 bits) indicates a protocol version forallowing an NST that transmits parameters having a different structurefrom those defined in the current protocol. (That is, this field is an8-bit unsigned integer field whose function is to allow, in the future,this NRT service Map Table to carry parameters that may be structureddifferently than those defined in the current protocol. At present, thevalue for the NST_protocol_version shall be zero. Non-zero values ofNST_protocol_version may be used by a future version of this standard toindicate structurally different tables.)

A transport_stream_id field (16 bit) indicates a unique identifier of abroadcast stream in which the corresponding NST section is beingtransmitted.

A Num_NRT_services field (8 bits) indicates the number of NRT servicesincluded in the NRT section. (That is, this 8-bit field shall specifythe number of NRT services in this NST section).

Thereafter, the ‘for’ loop, which is also referred to as an “NRT serviceloop”, is executed the same number of times as the number of NRTservices corresponding to the num_NRT_services field value to providesignaling information of a plurality of NRT services. That is, signalinginformation of the corresponding NRT service is indicated for each ofthe NRT services included in the NST section. Herein, it is possible toprovide the following field information for each NRT service.

An NRT_service_id field (16 bits) indicates a value that can uniquelyidentify the corresponding NRT service. (That is, this field indicates a16-bit unsigned integer that shall uniquely identify this NRT servicewithin the scope of this NRT section.) The NRT_service_id field value ofone service does not vary while the service is maintained. (That is, theNRT_service_id of a service shall not change throughout the life of theservice.) Here, in order to avoid confusion, when a service isterminated, an NRT_service_id field value of the service may remainunused until a specific time elapses. (That is, to avoid confusion, itis recommended that if a service is terminated, then the NRT_service_idfor the service should not be used for another service until a suitableinterval of time elapses.)

An NRT_service_category field (5 bits) indicates a service type of thecorresponding NRT service.

An NRT_service_status field (2 bits) indicates the status of thecorresponding NRT service. For example, the NRT_service_status fieldindicates that the corresponding NRT service is in an active state whenthe most significant bit of the NRT_service_status field is set to “1”and indicates that the corresponding NRT service is in an inactive statewhen the most significant bit is set to “0”. In addition, theNRT_service_status field indicates that the corresponding NRT service isin a hidden state when the least significant bit of theNRT_service_status field is set to “1” and indicates that thecorresponding NRT service is not in a hidden state when the leastsignificant bit is set to “0”. (That is, the most significant bit shallindicate whether this NRT service is active (when set to 1) or inactive(when set to 0) and the least significant bit shall indicate whetherthis NRT service is hidden (when set to 1) or not (when set to 0).)

An SP_indicator field (1 bit) indicates whether or not serviceprotection is applied to the corresponding NRT service. If theSP_indicator field value is 1, service protection is applied to at leastone of the components that are required to provide meaningfulpresentation of the corresponding NRT service. (That is, theSP_indicator field is a 1-bit field that indicates, when set to 1, thatservice protection is applied to at least one of the components neededto provide a meaningful presentation of this NRT service.)

A Short_NRT_service_name field (8*8 bits) indicates a short name of theNRT service. This field may be filled with null data (for example, 0x00)when the NRT service has no short name.

A num_FLUTE_sessions field (8 bits) indicates the number of FLUTEsessions that constitute the NRT service.

Thereafter, the ‘for’ loop, which is also referred to as a “FLUTEsession loop”, is executed the same number of times as the number ofFLUTE sessions corresponding to the num_FLUTE_sessions field value toprovide access information of a plurality of FLUTE sessions. That is,access information of each of the FLUTE sessions included in the NRTservice is provided. Here, it is possible to provide the following fieldinformation for each FLUTE session.

A FLUTE_session_type field (3 bits) identifies the type of the FLUTEsession according to data objects transmitted through the FLUTE session.FIG. 10 illustrates values allocated to the FLUTE_session_type fieldvalue and the meanings of the values. For example, when theFLUTE_session_type field value is 000, this indicates that thecorresponding FLUTE session is a FLUTE file delivery session thattransmits a content/file for the actual NRT service. The remainingvalues are not used in the present invention. That is, when theFLUTE_session_type field value is 000, a FLUTE file delivery descriptor(NRT_FLUTE_File_Delivery_descriptor( )) as shown in FIG. 11 istransmitted as the FLUTE_session_level_descriptor( ). Details of eachfield of the FLUTE file delivery descriptor will be described later.

A media_object_association_indicator field (1 bit) indicates whether ornot media object association information associated with the FLUTEsession is present. For example, when themedia_object_association_indicator field is set to 1, this indicatesthat media object association information that is provided as a streamor file or a descriptor (for example, anNRT_media_object_association_descriptor( )) in association with theFLUTE session is present. (That is, this 1-bit indicator shall indicate,when set, that there is media object association information that isprovided associated with this FLUTE session through themedia_object_association descriptor( ) or through a stream or a file.)That is, when this field is 1, anNRT_media_object_association_descriptor( ) is received within the FLUTEsession loop (i.e., received while being included in the FLUTE sessionloop). Here, the media_object_association_indicator field may be omittedfrom the NST. In this case, when media object association information ispresent, an NRT_media_object_association_descriptor( ) is receivedthrough a FLUTE session level descriptor. The receiver parses alldescriptors included in the FLUTE session level descriptor and canidentify the NRT_media_object_association_descriptor( ) using theidentifier of the description.

When an essential_component_delivery_indicator field (1 bit) is set to1, this indicates that the corresponding FLUTE session transmitsessential components (i.e., content/file(s)) for the NRT service.Otherwise, this field indicates that components (i.e., content/files)transmitted through the corresponding FLUTE session are optional. (Thatis, this field is an one-bit indicator which, when set, shall indicatethat this FLUTE session carries an essential component for the NRTservice. Otherwise, this field indicates that the components carriedthrough this FLUTE session are optional components.)

An IP_version_flag field (1 bit) indicates thatFLUTE_session_source_IP_address and FLUTE_session_destination_IP_addressfields are IPv4 addresses when the IP_version_flag field is set to 1 andindicates that FLUTE_session_source_IP_address andFLUTE_session_destination_IP_address fields are IPv6 addresses when theIP_version_flag field is set to 0. (That is, this field is a 1-bitindicator which, when set to zero, shall indicate thatFLUTE_session_source_IP_address, FLUTE_session_destination_IP_addressfields are IPv4 addresses. Otherwise, this field indicates thatFLUTE_session_source_IP_address and FLUTE_session_destination_IP_addressfields are IPv6 addresses.)

When a source_specific_multicast_flag field (1 bit) is set to ‘1’, thisindicates that the source specific multicast is used for the FLUTEsession. Therefore, a FLUTE_session_source_IP_address should be present.(That is, this field is a 1-bit Boolean flag that shall indicate, whenset, that the source specific multicast is used for this FLUTE session.Thus, the FLUTE_session_source_IP_address shall be present.)

A FLUTE_session_source_IP_address field (32 or 128 bits) is present whenthe source_specific_multicast_flag field is set to ‘1’ and is absentwhen the source_specific_multicast_flag field is set to ‘0’. If theFLUTE_session_source_IP_address field is present, this field is a sourceIP address of the same server that transmits all channels of the FLUTEsession. (That is, this field shall be present if thesource_specific_multicast_flag is set to ‘1’ and shall not be present ifthe source_specific_multicast_flag is set to ‘0’. If present, this fieldshall contain the source IP address of all the IP datagrams carrying thecomponents of this FLUTE session.)

A FLUTE_session_destination_IP_address field ((32 or 128 bits) includesa target (destination) of all IP datagrams that transmit components ofthe FLUTE session. (That is, this field shall contain the destination ofall the IP datagrams carrying the components of this FLUTE session.)

A FLUTE_session_destination_UDP_port_num field (16 bits) indicates adestination UDP port number of a UDP/IP stream that transmits the FLUTEsession. (That is, this is a 16-bit unsigned integer field thatrepresents the destination UDP port number for the UDP/IP streamcarrying this FLUTE session.)

A Num_FLUTE_session_level_descriptors field (4 bits) indicates thenumber of descriptors (FLUTE_session_level_descriptor( )) included inthe FLUTE session loop.

The same number of FLUTE_session_level_descriptors( ) as a numbercorresponding to the Num_FLUTE_session_level_descriptors field value areincluded in the FLUTE session loop to provide additional informationabout the FLUTE session. (That is, one or more descriptors providingadditional information for this FLUTE session may be included.)

A Num_NRT_service_level_descriptors field (4 bits) indicates the numberof descriptors (NRT_service_level_descriptors( )) included in the NRTservice loop.

The same number of NRT_service_level_descriptors( ) as a numbercorresponding to the Num_NRT_service_level_descriptors field value areincluded in the NRT service loop to provide additional information aboutthe NRT service. (That is, zero or more descriptors providing additionalinformation for this NRT service may be included.)

FIG. 11 illustrates an example of a bit stream syntax structure of anNRT_FLUTE_File_Delivery_descriptor( ) that is provided as aFLUTE_session_level_descriptor( ) according to the present invention.That is, the NRT_FLUTE_File_Delivery_descriptor( ) is used as aFLUTE_session_level_descriptor( ) of the NST and includes additionalsignaling information for access to the corresponding FLUTE session. TheNRT_FLUTE_File_Delivery_descriptor( ) is received as a FLUTE sessionlevel descriptor when the FLUTE_session_type field value is 000. Thefollowing is a description of each field of theNRT_FLUTE_File_Delivery_descriptor( ).

In FIG. 11, a descriptor_tag field (8 bits) is a descriptor identifierand an identifier that identifies an NRT FLUTE file delivery descriptor(NRT_FLUTE_File_Delivery_descriptor( )) can be set in this field.

A descriptor_length field (8 bits) represents, in bytes, the remaininglength of the descriptor (from a field next to the descriptor_lengthfield to the end of this descriptor).

A FLUTE_session_TSI field (16 bits) indicates a TSI of the FLUTEsession. The TSI is an identifier that can uniquely identify the FLUTEsession. (That is, this is a 16-bit unsigned integer field, which shallbe the Transport Session Identifier (TSI) of the FLUTE session).

A session_start_time field (16 bits) indicates the time at which theFLUTE session starts. If all values of this field are ‘0’, this can beinterpreted as indicating that the FLUTE session has already started.(That is, the session_start_time is the time at which the FLUTE sessionstarts. If the value of this field is set to all zeros, then it shall beinterpreted to mean that the session has already started).

A session_end_time field (16 bits) indicates the time at which the FLUTEsession terminates. If all values of this field are ‘0’, this can beinterpreted as indicating that the FLUTE session continues indefinitely.(That is, the session_end_time is the time at which the FLUTE sessionends. If the value of this field is set to all zeros, then it shall beinterpreted to mean that the session continues indefinitely).

A tias_bandwidth_indicator field (1 bit) indicates whether or notTransport Independent Application Specific (TIAS) bandwidth informationis included. The bit of the tias_bandwidth_indicator field will be setto ‘1’ to indicate that the TIAS bandwidth field is present and will beset to ‘0’ to indicate that the TIAS bandwidth field is absent (That is,this is a 1-bit field that flags the inclusion of TIAS bandwidthinformation. This bit shall be set to ‘1’ to indicate that the TIASbandwidth field is present, and it shall be set to ‘0’ to indicate thatthe TIAS bandwidth field is absent.)

An as_bandwidth_indicator field (1 bit) indicates whether or notApplication Specific (AS) bandwidth information is included. The bit ofthe as_bandwidth_indicator field will be set to ‘1’ to indicate that theAS bandwidth information is present and will be set to ‘0’ to indicatethat the AS bandwidth information is absent (That is, this is a 1-bitfield that flags the inclusion of AS bandwidth information. This bitshall be set to ‘1’ to indicate that the AS bandwidth field is present,and it shall be set to ‘0’ to indicate that the AS bandwidth field isabsent).

An FEC_OTI_indicator field (1 bit) indicates whether or not FEC objecttransmission information (OTI) is provided. (That is, this field is a1-bit indicator that indicates whether FEC Object TransmissionInformation is provided).

A tias_bandwidth field (16 bits) is present when theas_bandwidth_indicator field is set to ‘1’ and indicates the maximumTIAS bandwidth. (That is, this value shall be one one-thousandth of theTransport Independent Application Specific maximum bandwidth as definedin RFC 3890, rounded up to the next highest integer if necessary. Thisgives the TIAS bandwidth in kilobits per second.)

An as_bandwidth field (16 bits) is present when theas_bandwidth_indicator field is set to ‘1’ and indicates the maximum ASbandwidth. (That is, this value shall be the Application Specificmaximum bandwidth as defined in RFC 4566. This gives the AS bandwidth inkilobits per second.)

An FEC_encoding_id field is present when the FEC_OTI_indicator field isset to ‘1’ and indicates an FEC encoding ID used in the correspondingFLUTE session. (That is, this field is an FEC encoding ID used in thisFLUTE session, as defined in RFC 3926.)

An FEC_instance_id field is present when the FEC_OTI_indicator field isset to ‘1’ and indicates an FEC instance ID used in the correspondingFLUTE session. (That is, this field is an FEC instance ID used in thisFLUTE session, as defined in RFC 3926).

The above parameters are signaled through an NRT FLUTE file deliverydescriptor NRT_FLUTE_File_Delivery_descriptor( ) in a FLUTE session loopand thus it is possible to provide all information required to receivethe FLUTE session.

That is, by opening the corresponding FLUTE session according to timeinformation set by the session_start_time field and the session_end_timefield, it is possible to receive files that constitute the NRT serviceand a File Description Table (FDT) that describes signaling informationof the files.

On the other hand, if the media_object_association_indicator field valuein the NST is set to ‘1’, media object association informationassociated with the FLUTE session is signaled using the NRT media objectassociation descriptor. For example, the media object associationinformation is provided in text format expressed by a MultipurposeInternet Mail Extensions (MIME) type.

FIG. 12 illustrates an embodiment of a bit stream syntax structure of anNRT media object association descriptor(NRT_media_object_association_descriptor( )) according to the presentinvention. The NRT media object association descriptor is used as aFLUTE_session_level_descriptor( ) of the NST. The NRT media objectassociation descriptor signals parameters necessary for renderingcontent/file(s) (which will also be referred to as a “mediaobject/file”) that are transmitted through the corresponding FLUTEsession.

The following is a description of each field of the NRT media objectassociation descriptor NRT_media_object_association_descriptor( ).

In FIG. 12, a descriptor_tag field (8 bits) is a descriptor identifierand indicates an identifier that identifies the NRT media objectassociation descriptor NRT_media_object_association_descriptor( ).

A descriptor_length field (8 bits) represents, in bytes, the remaininglength of the descriptor (from a field next to the descriptor_lengthfield to the end of this descriptor).

An object_association_type field (3 bits) indicates how the media objectassociation information is signaled. (That is, this 3-bit enumeratedfield shall indicate how the media object association information issignaled.) In an embodiment, the media object association informationmay also be signaled through in-line fields of the descriptor in a MIMEtype text format. In another embodiment, the media object associationinformation may also be signaled through a media object associationstream in a MIME type text format. In another embodiment, the mediaobject association information may also be signaled through a mediaobject association file in a MIME type text format. (That is, the mediaobject association can be done through the in-line fields of thisdescriptor or can be done through the media object association stream orthrough the media object association file.)

FIG. 13 illustrates an embodiment of values allocated to theobject_association_type field and definitions of the values.

For example, if the object_association_type field value is ‘000’, mediaobject association information required for rendering content thatcarries the association object is provided through in-line text of thedescriptor. (That is, the media object association information, which isnecessary for rendering the content that the associated object iscarrying, is provided as in-line text of this descriptor.)

In another example, if the object_association_type field value is ‘001’,media object association information required for rendering content thatcarries the association object is provided through a separate UDP/IPstream. The UDP/IP stream transmits an SAP/SDP-like data structure.(That is, the media object association information, which is necessaryfor rendering the content that the associated object is carrying, isprovided by a separated UDP/IP stream, which carries SAP/SDP like datastructure.)

In another example, if the object_association_type field value is ‘010’,media object association information required for rendering content thatcarries the association object is provided through an SDP-like file. TheSDP-like file is provided through a separate FLUTE file deliverysession. (That is, the media object association information, which isnecessary for rendering the content that the associated object iscarrying, is provided by an SDP-like file, which is carried through aseparated FLUTE file delivery session.)

Accordingly, if the object_association_type field value is ‘000’, themedia object association information is described directly using atleast one field in the NRT media object association descriptor.

If the object_association_type field value is ‘001’ or ‘010’, the NRTmedia object association descriptor provides access information of afile or a stream that carries the media object association information.In addition, if the object_association_type field value is ‘010’, theNRT media object association descriptor provides not only the accessinformation of the file but also parameters required to receive a FLUTEsession that carries the file.

That is, if the object_association_type field value is ‘000’, the NRTmedia object association descriptor includes anum_media_objects_in_session field and a ‘for’ loop statement that isrepeated the same number of times as a number corresponding to thenum_media_objects_in_session field value. The for loop statement mayinclude a media_object_TOI_field, an object_container_type_text_lengthfield, an object_container_type_text( ) field, anobject_media_type_text_length field, an object_media_type_text( ) field,an object_decoding_parameters_text_length field, and anobject_decoding_parameters_text( ) field.

The num_media_objects_in_session field (8 bits) indicates the number ofmedia objects that require object association signaling in this FLUTEsession. (That is, this 8-bit unsigned integer field specifies thenumber of media objects that require object association signaling,carried through this FLUTE session.)

The media_object_TOI field (32 bits) indicates an identifier (i.e.,Transport Object Identifier (TOI)) of a transport object that istransmitted through the FLUTE session. (That is, this field is a 32-bitunsigned integer field which shall be the Transport Object Identifier,associated with this Transport Object carried through the FLUTEsession.) Specifically, the media_object_TOI field indicates a valuethat identifies content/file(s) that are transmitted through the FLUTEsession.

The object_container_type_text_length field (8 bits) indicates the bytelength of the object_container_type_text( ) character string. (That is,this field shall specify the length (in bytes) of theobject_container_type_text( ) character string.)

The object_container_type_text( ) field indicates the type of a file orobject container in which the object is encapsulated. Specifically, theobject_container_type_text( ) field expresses the type in a string thatappears as an entry in an SDP to identify the type of the container.(That is, the object_container_type_text( ) field indicates the file orobject container type where this object is encapsulated and is expressedin a string that would normally appear as an entry in an SDP to identifythe type of the container.) For example, the object_container_type_text() field represents the file format or the like in text format.

The object_media_type_text_length field (8 bits) indicates the bytelength of the object_media_type_text( ) character string. (That is, thisfield shall specify the length (in bytes) of the object_media_type_text() character string.)

The object_media_type_text( ) field indicates a media type thatidentifies an encoding format of an object that is described in thisdescriptor. Specifically, the object_media_type_text( ) field indicatesthe encoding format of the object in text format. (That is, this fieldindicates the media type identifying the encoding format of the objectthat this descriptor describes. This shall be identical to the characterstring that would normally appear in an “a=rtpmap” entry in an SDP toidentify the type of the media.) For example, theobject_media_type_text( ) field provides encoding format information ofaudio, video, or the like, which is transmitted through the NRT service,in text format.

The object_decoding_parameters_text_length field (8 bits) indicates thebyte length of the object_decoding_parameters_text( ) character string.(That is, this field shall specify the length (in bytes) of theobject_decoding_parameters_text( ) character string.)

The object_decoding_parameters_text( ) field indicates decodingparameters of an object described in this descriptor in text format.(That is, this field includes a text string that identifies the decodingparameters of the object that this descriptor describes.)

If the object_association_type field value is ‘001’ or ‘010’, thedescriptor may include an IP_version_flag field, asource_specific_multicast_flag field, anobject_association_stream_source_IP_address field, anobject_association_stream_destination_UDP_port_num field, and anobject_association_stream_destination_IP_address field. That is, thedescriptor provides access information of an IP datagram that carriesthe file or stream.

The IP_version_flag field (1 bit) indicates that theobject_association_stream_source_IP_address andobject_association_stream_destination_IP_address fields are IPv4addresses if this field is set to ‘0’ and indicates that theobject_association_stream_source_IP_address andobject_association_stream_destination_IP_address fields are IPv6addresses if this field is set to ‘1’. (That is, this field is a 1-bitindicator that shall indicate, when set to zero, thatobject_association_stream_source_IP_address andobject_association_stream_destination_IP_address fields are IPv4addresses. Otherwise, this field indicates thatobject_association_stream_source_IP_address andobject_association_stream_destination_IP_address fields are IPv6addresses.)

The source_specific_multicast_flag field (1 bit) indicates that thesource specific multicast is used for the FLUTE session if this field isset to ‘1’. Therefore, in this case, anobject_association_stream_source_IP_address needs to be present. (Thatis, this field is a 1-bit Boolean flag that shall indicate, when set,that the source specific multicast is used for this FLUTE session. Thus,the object_association_stream_source_IP_address shall be present.)

The object_association_stream_IP_address field (32 or 128 bits) ispresent when the source_specific_multicast_flag field is set to ‘1’ butis absent when the source_specific_multicast_flag field is set to ‘0’.If the object_association_stream_IP_address field is present, this fieldincludes the source IP address of all IP datagrams that carry thecomponents (i.e., content/file(s)) of the FLUTE session. (That is, thisfield shall be present if the source_specific_multicast_flag is set to‘1’ and shall not be present if the source_specific_multicast_flag isset to ‘0’. If present, this field shall contain the source IP addressof all the IP datagrams carrying the components of this FLUTE session.)

The object_association_stream_destination_IP_address field (32 or 128bits) indicates the destination IP address of all IP datagrams thatcarry the components (i.e., content/file(s)) of the object associationstream. (That is, this field shall contain the destination of all the IPdatagrams carrying the components of this object association stream.)

The object_association_stream_destination_UDP_port_num field (16 bits)indicates a destination UDP port number of a UDP/IP stream that carriesthe object association stream. (That is, this is a 16-bit unsignedinteger field that represents the destination UDP port number for theUDP/IP stream carrying this object association stream.)

If the object_association_type field value is ‘010’, the descriptorfurther includes an object_association_session_TSI field, anobject_association_session_start_time field, anobject_association_session_end_time field, a tias_bandwidth_indicatorfield, an as_bandwidth_indicator field, an FEC_OTI_indicator field, atias_bandwidth field, an as_bandwidth field, an FEC_encoding_id field,and an FEC_instance_id field. That is, the descriptor describesparameters required to receive the corresponding FLUTE session.

The object_association_session_TSI field (16 bits) indicates a TSI of aFLUTE session that carries the object association file. The TSI is anidentifier that can uniquely identify the FLUTE session. (That is, thisis a 16-bit unsigned integer field which shall be the Transport SessionIdentifier (TSI) of the FLUTE session that carries the objectassociation file.)

The object_association_session_start_time field (16 bits) indicates thetime at which the FLUTE session carrying the object association filestarts. If all values of this field are ‘0’, this can be interpreted asindicating that the FLUTE session has already started. (That is, thisfield indicates the time at which the FLUTE session that carries theobject association file starts. If the value of this field is set toall-zero, then it shall be interpreted to mean that the session hasalready started.)

The object_association_session_end_time field (16 bits) indicates thetime at which the FLUTE session carrying the object association fileends. If all values of this field are ‘0’, this can be interpreted asindicating that the FLUTE session continues indefinitely. (That is, thisfield indicates the time at which the FLUTE session that carries theobject association file ends. If the value of this field is set to all−zero, then it shall be interpreted to mean that the session continuesindefinitely.)

The tias_bandwidth_indicator field (1 bit) indicates whether or notTransport Independent Application Specific (TIAS) bandwidth informationis included. The bit of the tias_bandwidth_indicator field is set to ‘1’to indicate that the TIAS bandwidth field is present and set to ‘0’ toindicate that the tias_bandwidth_indicator field is absent. (That is,this is a 1-bit field that flags the inclusion of TIAS bandwidthinformation. This bit shall be set to ‘1’ to indicate that the TIASbandwidth field is present, and it shall be set to ‘0’ to indicate thatthe TIAS bandwidth field is absent).

The as_bandwidth_indicator field (1 bit) indicates whether or notApplication Specific (AS) bandwidth information is included. The bit ofthe as_bandwidth_indicator field is set to ‘1’ to indicate that the ASbandwidth field is present and set to ‘0’ to indicate that the ASbandwidth field is absent. (That is, this is a 1-bit field that flagsthe inclusion of AS bandwidth information. This bit shall be set to ‘1’to indicate that the AS bandwidth field is present, and it shall be setto ‘0’ to indicate that the AS bandwidth field is absent.)

The FEC_OTI_indicator field (1 bit) indicates whether or not FEC objecttransmission information (OTI) is provided. (That is, this field is a1-bit indicator that indicates whether FEC Object TransmissionInformation is provided.)

The tias_bandwidth field (16 bits) is present when theas_bandwidth_indicator field is set to set to ‘1’ and indicates themaximum TIAS bandwidth. (That is, this value shall be one one-thousandthof the Transport Independent Application Specific maximum bandwidth asdefined in RFC 3890, rounded up to the next highest integer ifnecessary. This gives the TIAS bandwidth in kilobits per second.)

The as_bandwidth field (16 bits) is present when theas_bandwidth_indicator field is set to ‘1’ and indicates the maximum ASbandwidth. (That is, this value shall be the Application Specificmaximum bandwidth as defined in RFC 4566. This gives the AS bandwidth inkilobits per second.)

The FEC_encoding_id field is present when the FEC_OTI_indicator field isset to ‘1’ and indicates an FEC encoding ID used in the correspondingFLUTE session. (That is, this field includes FEC encoding ID used inthis FLUTE session, as defined in RFC 3926.)

The FEC_instance_id field is present when the FEC_OTI_indicator field isset to ‘1’ and indicates an FEC instance ID used in the correspondingFLUTE session. (That is, this field includes an FEC instance ID used inthis FLUTE session, as defined in RFC 3926).

For example, in the case where the media object association informationis transmitted in a stream or file format, the stream may be a SessionAnnouncement Protocol (SAP) stream and the file may be a SessionDescription Protocol (SDP) file. In the case where the media objectassociation information is transmitted in an SAP stream, theIP_version_flag field, the source_specific_multicast_flag field, theobject_association_stream_source_IP_address field, theobject_association_stream_destination_UDP_port_num field, and theobject_association_stream_destination_IP_address field are accessinformation of an IP datagram that carries the SAP stream. Accordingly,the IP datagram of the SAP stream may be received based on the accessinformation of the IP datagram and media object association informationmay be extracted from the received IP datagram of the SAP stream.

In the case where the media object association information istransmitted in an SDP file, the IP_version_flag field, thesource_specific_multicast_flag field, theobject_association_stream_source_IP_address field, theobject_association_stream_destination_UDP_port_num field, and theobject_association_stream_destination_IP_address field are accessinformation of the corresponding FLUTE session or IP datagram thatcarries the SDP file. Accordingly, the IP datagram of the SDP file maybe received based on the access information of the IP datagram and mediaobject association information may be extracted from the received IPdatagram of the SDP file.

FIG. 14 and FIG. 15 illustrate another embodiment of a bit stream syntaxstructure of an NST section according to the present invention.

Herein, although the syntax is written in an MPEG-2 private section forbetter understanding, the data may be in any format. For example, it ispossible to use another method in which the syntax is expressed in aSession Description Protocol (SDP) format and is then signaled through aSession Announcement Protocol (SAP).

In FIG. 14 and FIG. 15, a table_id field (8 bits) identifies the type ofthe corresponding table section and it can be determined through thisfield that the corresponding table section is a table section thatconstitutes the NST. (That is, this field includes an 8-bit unsignedinteger that indicates the type of table section defined in an NRTservice Table (NST)).

A section_syntax_indicator field (1 bit) is an indicator that definesthe section format (or type) of the NST and the section format may be ashort-form syntax (‘0’) of MPEG. (That is, this 1-bit field is asection_syntax_indicator and shall be set to ‘0’ to always indicate thatthis table is derived from the “short” form of the MPEG-2 privatesection table.)

A private_indicator field (1 bit) indicates whether or not the sectionformat complies with the private section format. (That is, this 1-bitfield is a private_indicator and shall be set to ‘1’.)

A section_length field (12 bits) indicates the length of the remainingtable section subsequent to this field. (That is, this 12-bitsection_length field specifies the number of remaining bytes of thistable section immediately following this field. The value in this fieldshall not exceed 4093 (0xFFD).)

A table_id_extension field (16 bits) is dependent on the table and is alogical portion of the table_id field that provides the scope of theremaining fields. (That is, this 16-bit table_id_extension field istable-dependent and shall be considered to be logically part of thetable_id field providing the scope for the remaining fields.) Here, thetable_id_extension field includes an NST_protocol_version field.

The NST_protocol_version field (8 bits) indicates a protocol versionthat allows an NST transmitted through parameters having a differentstructure from those defined in the current protocol. (That is, theNST_protocol_version field is an 8-bit unsigned integer field whosefunction is to allow, in the future, this NST to carry parameters thatmay be structured differently than those defined in the currentprotocol. At present, the value for the NST_protocol_version shall bezero. Non-zero values of NST_protocol_version may be used by a futureversion of this standard to indicate structurally different tables.)

A version_number field (5 bits) indicates the version number of the NST.

A current_next_indicator field (1 bit) indicates whether or not thetransmitted NST section is currently applicable. (That is, thecurrent_next_indicator field is a one-bit indicator, which when set to‘1’ shall indicate that the sent NST is currently applicable. When thebit is set to ‘0’, it shall indicate that the sent table is not yetapplicable and will be the next table to become valid. This standardimposes no requirement that “next” tables (those withcurrent_next_indicator set to ‘0’) be sent. An update to the currentlyapplicable table shall be signaled by incrementing the version_numberfield.)

A section_number field (8 bits) indicates the current NST sectionnumber. (That is, the section_number field is an 8-bit field that shallgive the section number of this NST section. The section_number of thefirst section in an NST shall be ‘0x00’. The section_number shall beincremented by 1 with each additional section in the NST.)

A last_section_number field (8 bits) indicates the last section numberof the NST table. (That is, the last_section_number field is an 8-bitfield that shall give the number of the last section (i.e., the sectionwith the highest section_number) of the NST of which this section is apart.)

A carrier_frequency field (32 bits) indicates a transmission frequencycorresponding to the channel.

A transport_stream_id field (16 bit) indicates a unique identifier of abroadcast stream in which the corresponding NST section is beingtransmitted.

A source_id field (16 bits) indicates a programming source associatedwith the virtual channel.

A num_NRT_services field (8 bits) indicates the number of NRT servicesin the NST section. (That is, the num_services field is an 8 bit fieldthat specifies the number of services in this NST section.)

Thereafter, a ‘for’ loop, which is also referred to as an “NRT serviceloop”, is executed the same number of times as the number of NRTservices corresponding to the num_NRT_services field value to providesignaling information of a plurality of NRT services. That is, signalinginformation of the corresponding NRT service is indicated for each ofthe NRT services included in the NST section. Here, the following fieldinformation may be provided for each NRT service.

An NRT_service_status field (2 bits) indicates the status of thecorresponding NRT service. Here, the MSB of the NRT_service_status fieldindicates whether the corresponding NRT service is active (when it is‘1’) or inactive (when it is ‘0’) and the LSB indicates whether thecorresponding NRT service is hidden (when it is ‘1’) or not hidden (whenit is ‘0’). (That is, the NRT_service_status field is a 2-bit enumeratedfield that shall identify the status of this NRT service. The mostsignificant bit shall indicate whether this NRT service is active (whenset to ‘1’) or inactive (when set to ‘0’) and the least significant bitshall indicate whether this NRT service is hidden (when set to ‘1’) ornot (when set to ‘0’). Hidden services are normally used for proprietaryapplications, and ordinary receiving devices should ignore them.)

An SP_indicator field (1 bit) indicates whether or not serviceprotection is applied to the corresponding NRT service. If theSP_indicator field value is 1, service protection is applied to at leastone of the components that are required to provide meaningfulpresentation of the corresponding NRT service. (That is, this 1-bitfield indicates, when set to 1, that service protection is applied to atleast one of the components needed to provide a meaningful presentationof this NRT service).

A CP_indicator field (1 bit) indicates whether or not content protectionis applied to the corresponding NRT service. If the CP_indicator fieldvalue is 1, content protection is applied to at least one of thecomponents that are required to provide meaningful presentation of thecorresponding NRT service. (That is, this CP_indicator 1-bit fieldindicates, when set, that content protection is applied to at least oneof the components needed to provide a meaningful presentation of thisNRT service).

An NRT_service_id field (16 bits) indicates a value that can uniquelyidentify the corresponding NRT service. (That is, this field indicates a16-bit unsigned integer that shall uniquely identify this NRT servicewithin the scope of this NRT section.) The NRT_service_id field value ofone service does not vary while the service is maintained. (That is, theNRT_service_id of a service shall not change throughout the life of theservice.) Here, in order to avoid confusion, when a service isterminated, an NRT_service_id field value of the service may remainunused until a specific time elapses. (That is, to avoid confusion, itis recommended that if a service is terminated, then the NRT_service_idfor the service should not be used for another service until a suitableinterval of time elapses.)

A Short_NRT_service_name field (8*8 bits) indicates a short name of theNRT service. This field may be filled with null data (for example, 0x00)when the NRT service has no short name.

An NRT_service_category field (6 bits) identifies the type of a servicethat is transmitted in the corresponding NRT service as defined inTable 1. (That is, The NRT_service_category field is a 6-bit enumeratedtype field that shall identify the type of service carried in this NRTservice as defined in Table 1).

TABLE 1 NRT_service_category Meaning 0x00 [Reserved] 0x0ENRT_channel_discovery: This carries channel discovery information of NRTservice. 0x0F NRT_content_discovery: This carries content discoveryinformation of NRT service. 0x10 NRT_SG_data_service: This NRT serviceincludes electronic service guide data. 0x11-0x3F [Reserved for futureATSC use]

A num_components field (5 bits) indicates the number of IP streamcomponents included in the NRT service. (That is, this num_componentsfield is a 5-bit field that specifies the number of IP stream componentsin this NRT service).

An IP_version_flag field (1 bit) indicates that the source_IP_addressfield, the NRT_service_destination_IP_address field, and thecomponent_destination_IP_address field are IPv4 addresses when thisfield is set to ‘0’ and indicates that the source_IP_address field, theNRT_service_destination_IP_address field, and thecomponent_destination_IP_address field are IPv6 addresses when thisfield is set to ‘1’. (That is, this IP_version_flag field is a 1-bitindicator that, when set to ‘0’, shall indicate that thesource_IP_address, NRT_service_destination_IP_address, andcomponent_destination_IP_address fields are IPv4 addresses. The value of‘1’ for this field is reserved for possible future indication that thesource_IP_address, NRT_service_destination_IP_address, andcomponent_destination_IP_address fields are IPv6 addresses).

A source_IP_address_flag field (1 bit) indicates that a source IPaddress value for the corresponding NRT service is present to indicate asource specific multicast when this flag field is set. (That is, thissource_IP_address_flag field is a 1-bit Boolean flag that shallindicate, when set, that a source IP address value for this NRT serviceis present to indicate a source specific multicast).

An NRT_service_destination_IP_address_flag field (1 bit) indicates thatan NRT_service_destination_IP_address value is present to provide adefault IP address for the components of the corresponding NRT servicewhen this flag field is set to ‘1’. (That is, thisNRT_service_destination_IP_address_flag field is a 1-bit Boolean flagthat indicates, when set to ‘1’, that anNRT_service_destination_IP_address value is present to serve as thedefault IP address for the components of this NRT service).

A source_IP_address field (128 bits) is present when thesource_IP_address_flag is set to ‘1’ while it is absent when thesource_IP_address_flag is set to ‘0’. If this field is present, thisfield includes the source IP address of all IP datagrams that carry thecomponents of the corresponding NRT service. The conditional use of the128 bit-long address version of this field is to facilitate possible useof IPv6 in the future although the use of IPv6 is not currently defined.The source_IP_address field is a source IP address of the same serverthat transmits all channels of the FLUTE session. (That is, thissource_IP_address field shall be present if the source_IP_address_flagis set to ‘1’ and shall not be present if the source_IP_address_flag isset to ‘0’. If present, this field shall contain the source IP addressof all the IP datagrams carrying the components of this NRT service. Theconditional use of the 128 bit-long address version of this field is tofacilitate possible use of IPv6 in the future, although use of IPv6 isnot currently defined).

In an NRT_service_destination_IP_address field (128 bits), acorresponding source_IP_address field is present if thesource_IP_address_flag is set to ‘1’ while it is absent ifsource_IP_address_flag is set to ‘0’. If the correspondingsource_IP_address field is absent, a component_destination_IP_addressfield will be present for each component in the num_components loop. Theconditional use of the 128 bit-long address version of thissource_IP_address field is to facilitate possible use of IPv6 in thefuture although the use of IPv6 is not currently defined. TheNRT_service_destination_IP_Address field is signaled if a destination IPaddress of the session level of the FLUTE session is present. (That is,this NRT_service_destination_IP_address field shall be present if theNRT_service_destination_IP_address_flag is set to ‘1’ and shall not bepresent if the NRT_service_destination_IP_address_flag is set to ‘0’. Ifthis NRT_service_destination_IP_address is not present, then thecomponent_destination_IP_address field shall be present for eachcomponent in the num_components loop. The conditional use of the 128bit-long address version of this field is to facilitate possible use ofIPv6 in the future, although use of IPv6 is not currently defined).

Thereafter, a ‘for’ loop, which will also be referred to as a “componentloop”, is executed the same number of times as the number of componentscorresponding to the num_components field value to provide accessinformation of a plurality of components. That is, this provides accessinformation of each component included in the NRT service. Here, thefollowing field information may be provided for each component. Here, inan embodiment, one component corresponds to one FLUTE session.

An essential_component_indicator field (1 bit) indicates that thecorresponding component is an essential component for the NRT service ifthis field value is set to ‘1’. Otherwise, this field indicates that thecorresponding component is optional. (That is, thisessential_component_indicator field is a one-bit indicator which, whenset to ‘1’, shall indicate that this component is an essential componentfor the NRT service. Otherwise, this field indicates that this componentis an optional component).

A port_num_count field (6 bits) indicates the number of UDP portsassociated with the corresponding UDP/IP stream component. Thedestination UDP port number value starts from thecomponent_destination_UDP_port_num field value and increments by 1.(That is, the port_num_count field shall indicate the number ofdestination UDP ports associated with this UDP/IP stream component. Thevalues of the destination UDP port numbers shall start from thecomponent_destination_UDP_port_num field and shall be incremented byone).

A component_destination_IP_address_flag field (1 bit) is a flag thatindicates that a component_destination_IP_address field is present forthe corresponding component if the flag is set to ‘1’. (That is, thiscomponent_destination_IP_address_flag is a 1-bit Boolean flag that shallindicate, when set to ‘1’, that the component_destination_IP_address ispresent for this component).

A component_destination_IP_address field (128 bits) will be present whenthe component_destination_IP_address_flag is set to ‘1’ while it will beabsent when the component_destination_IP_address_flag is set to ‘0’. Ifthe component_destination_IP_address field is present, this field willinclude the source IP address of all IP datagrams that carry thecomponents of the corresponding NRT service. The conditional use of the128 bit-long address version of this field is to facilitate possible useof IPv6 in the future although the use of IPv6 is not currently defined.(That is, this component_destination_IP_address field shall be presentif the component_destination_IP_address_flag is set to ‘1’ and shall notbe present if the component_destination_IP_address_flag is set to ‘0’.When this field is present, the destination address of the IP datagramscarrying this component of the NRT service shall match the address inthis field. When this field is not present, the destination address ofthe IP datagrams carrying this component shall match the address in theNRT_service_destination_IP_address field. The conditional use of the 128bit-long address version of this field is to facilitate possible use ofIPv6 in the future, although use of IPv6 is not currently defined).

A component_destination_UDP_port_num field (16 bits) indicates adestination UDP port number for the corresponding UDP/IP streamcomponent. (That is, the component_destination_UDP_port_num field is a16-bit unsigned integer field that represents the destination UDP portnumber for this UDP/IP stream component).

A num_component_level_descriptors field (4 bits) indicates the number ofdescriptors that provide additional information about the componentlevel.

The same number of descriptors component_level_descriptor( ) as a numbercorresponding to the num_component_level_descriptors field value areincluded in the component loop to provide additional information aboutthe component.

A num_NRT_service_level_descriptors field (4 bits) indicates the numberof descriptors that provide additional information about the NRT servicelevel.

The same number of descriptors NRT_service_level_descriptor( ) as anumber corresponding to the num_NRT_service_level_descriptors fieldvalue are included in the NRT service loop to provide additionalinformation about the NRT service.

A num_virtual_channel_level_descriptors field (4 bits) indicates thenumber of descriptors that provide additional information about thevirtual channel level.

The same number of descriptors virtual_channel_level_descriptor( ) as anumber corresponding to the num_virtual_channel_level_descriptors fieldvalue are included in the virtual channel loop to provide additionalinformation about the virtual channel.

FIG. 16 illustrates an embodiment of a bit stream syntax structure of acomponent_descriptor( ) that is provided as acomponent_level_descriptors ( ). That is, the component_descriptor( ) isused as one of the component level descriptorcomponent_level_descriptors( ) of the NST and describes additionalsignaling information of the corresponding component.

The following is a description of each field of thecomponent_descriptor( ).

In FIG. 16, a descriptor_tag field (8 bits) is a descriptor identifierand an identifier that identifies the component_descriptor( ) can be setin this field.

A descriptor_length field (8 bits) represents, in bytes, the remaininglength of the descriptor (from a field next to the descriptor_lengthfield to the end of this descriptor).

A component_type field (7 bits) indicates a value that identifies anencoding format of the component. The identification value may be one ofthe values allocated for the payload_type of the RTP/AVP stream.Alternatively, the identification value may be one of the valuespredetermined through agreement between the transmitting and receivingsides or may be a dynamic value between 96 and 127. For the componentsthat constitute media transmitted through the RTP, the value of thecomponent_type field should match the value in the payload_type field inthe RTP header of the IP stream carrying the corresponding component.(That is, the component_type field is a 7-bit field that shall identifythe encoding format of the component. The value may be any of the valuesassigned by IRNA for the payload_type of an RTP/AVP stream, or it may beany of the values assigned by ATSC, or it may be a “dynamic value” inthe range 96-127. For components consisting of media carried via RTP,the value of this field shall match the value in the payload_type fieldin the RTP header of the IP stream carrying this component. Note thatadditional values of the component_type field in the range of 43-71 canbe defined in future versions of this standard).

A component_data (component_type) field provides encoding parameterrequired for rendering the corresponding component and/or otherparameters. Here, the structure of a component_data element isdetermined by the value of the component_type field. (That is, in thecomponent_data (component_type) field, the component_data ( ) elementprovides the encoding parameters and/or other parameters necessary forrendering this component. The structure of the component_data isdetermined by the value of the component_type field).

For example, if the component_type field value is 35, the component_data(component_type) field provides component data for an H.264/AVC videostream.

In another example, if the component_type field value is 38, thecomponent_data (component_type) field provides data for FLUTE filedelivery as shown in FIG. 17. A description of each field of FIG. 17 isomitted herein since reference can be made to FIG. 11.

That is, signaling information required to receive the correspondingFLUTE session may be provided using theNRT_FLUTE_File_Delivery_descriptor( ) of FIG. 11 or may be providedusing the component_descriptor( ) descriptor of FIG. 16.

In FIG. 16, a component_encryption_flag field (1 bit) indicates whetheror not the corresponding component has been encrypted.

A Num_STKM_streams field (8 bits) indicates the number of STKM streamsassociated with the corresponding component if thecomponent_encryption_flag field indicates that the correspondingcomponent has been encrypted. (That is, the num_STKM_streams field is an8-bit unsigned integer field that shall identify the number of STKMstreams associated with this component).

An STKM_stream_id field (8 bits) is repeated the same number of times asa number corresponding to the Num_STKM_streams field value and indicatesa value that identifies a SKTM stream that can acquire a key requiredfor decryption.

On the other hand, the NST of FIG. 14 and FIG. 15 may also provide mediaobject association information.

In an embodiment, if media object association information is present, anNRT_media_object_association_descriptor( ) as shown in FIG. 12 isprovided as a component level descriptor. In this case, the receiverparses all descriptors included in the component level descriptor.Herein, the receiver can identify anNRT_media_object_association_descriptor( ) using the identifier of thedescriptor. A description of each field of theNRT_media_object_association_descriptor( ) and a procedure forextracting media object association information of the text format fromthe NRT_media_object_association_descriptor( ) is omitted herein sincereference can be made to the above description of the NST of FIG. 12.Herein, a media_object_association_indicator field (1 bit) may also beallocated to the NST of FIGS. 14 and 15 in order to determine whether ornot an NRT_media_object_association_descriptor( ) is present in thecomponent loop.

In another embodiment, media object association information may also beprovided using a component_descriptor( ) as shown in FIG. 16. Herein,the component_type field value may use a value between 43 and 71. In anembodiment of the present invention, 43 is allocated to thecomponent_type field value to provide the media object associationinformation as component data. The illustrated number is only an exampleand does not limit the scope of the present invention. That is, if thecomponent_type field value is 43, the component_data (component_type)field provides component data for media object association informationas shown in FIG. 18. A description of each field of FIG. 17 is omittedherein since reference can be made to FIG. 12.

In another embodiment, when media object association information isprovided using the component_descriptor( ) as shown in FIG. 16, one ofthe values in a dynamic range of 96-127 may also be allocated to thecomponent_type field value. In this case, the media object associationinformation may be provided using the component data as shown in FIG.19.

FIG. 19 illustrates an embodiment of a bit stream syntax structure whenone value in a dynamic range of 96-127 is allocated to thecomponent_type field value.

In FIG. 19, a general_media_type field (4 bits) indicates a generalmedia type of the component. For example, if the general_media_typefield value is 0x0, a decoding parameter and an encoding format appliedto a video stream is provided in text format using subsequentmedia_type_text( ) and decoding_parameters_text( ) fields. In oneexample, the media_type_text( ) field and the decoding_parameters_text() field provide the encoding format and the decoding parameter in textformat expressed in a Multipurpose Internet Mail Extensions (MIME) type.

The present invention may also allocate a value of 0x2 or a value in arange of 0x4-0xF to the general_media_type field value and provide mediaobject association information in text format using the media_type_text( ) field and the decoding_parameters_text ( ) field.

In FIG. 19, an ISO_(—)639 language_code field (24 bits) indicateslanguage used when 0x1 is allocated to the general_media_type fieldvalue, i.e., language used in an audio stream.

A media_type_text_length field (8 bits) indicates the byte length of asubsequent media_type_text ( ) character string. (That is, this fieldshall specify the length (in bytes) of the media_type_text ( ) characterstring.)

The media_type_text ( ) field indicates a media type that identifies theencoding format. That is, this field indicates, in text format, theencoding format of a stream corresponding to the general media type.

A decoding_parameters_text_length field (8 bits) indicates the bytelength of a subsequent decoding_parameters_text( ) character string.(That is, this field shall specify the length (in bytes) of thedecoding_parameters_text ( ) character string.)

The decoding_parameters_text( ) field indicates, in text format,decoding parameters of a stream corresponding to the general media type.

FIG. 20 is a flow chart illustrating a procedure for extracting NRTservice signaling data and NRT service data according to the presentinvention described above. In FIG. 20, in an embodiment, a value of 0x05is allocated to the service_type field value in the VCT as shown in FIG.6 to indicate that one or more NRT services are transmitted through thecorresponding virtual channel.

That is, when a physical transmission channel is tuned (i.e., selected)(S301), a VCT and a PMT are obtained from a broadcast signal receivedthrough the tuned physical transmission channel (S302). Then, theobtained VCT is parsed to determine whether or not an NRT service ispresent (S303). Whether or not an NRT service is present can bedetermined by checking a service_type field value in a virtual channelloop in the VCT. Step S301 is performed at a tuner and steps S302 and303 are performed at a PSI/PSIP section handler.

For example, if the service_type field value is not 0x05, the virtualchannel carries no NRT service. Since the virtual channel carries aconventional service (i.e., a legacy ATSC service), the receiverperforms an appropriate operation according to information included inthe virtual channel.

If the service_type field is 0x05, the virtual channel carries an NRTservice. In this case, since an NRT service descriptor(NRT_service_descriptor( )) as shown in FIG. 7 is received within thevirtual channel loop, identification information of each NRT service isextracted from the NRT service descriptor and the extractedidentification information is stored (S304). That is, identifier, shortname, service type, and service status information (NRT_service_id,NRT_service_short_name, NRT_service_category, and NRT_service_status) ofeach NRT service transmitted through the virtual channel is extractedfrom the NRT service descriptor. Step S301 is performed at the tuner andsteps S302 to S304 are performed at the service manager or PSI/PSIPsection handler.

If the stream_type field value included in the service locationdescriptor (or ES loop of the PMT) of the VCT is 0x95 (i.e., if thisfield indicates DST transmission), a DST is received using theElementary_PID field value (S305, S306). Steps S305 and S306 areperformed at a demultiplexer under control of the service manager.

An NRT service is identified from the received DST (S307) and signalingdata of the identified NRT service (for example, a PID of an MPEG-2 TSpacket separated from an IP datagram of an NRT service signaling channelcarrying the NST) is obtained. The NRT service can be identified from anApp_id_description field value.

In an embodiment of the present invention, ‘0x0003’ is allocated to theApp_id_description field in order to identify the NRT application (i.e.,the NRT service). The illustrated number is only an example and does notlimit the scope of the present invention.

If the App_id_description field value is ‘0x0003’, anApplication_id_type value subsequent to the App_id_description fieldvalue is a service ID value of the NRT application (i.e., the NRTservice). Therefore, after the NRT application (i.e., the NRT service)is identified as described above, a Tap is extracted in order to searchfor the PID of the MPEG-2 TS packet separated from the IP datagram ofthe NRT service signaling channel (S308). Then, a stream PID includingan association_tag of the extracted Tap is extracted from the PMT(S309). Steps S307 to S309 are performed at the service manager or thePSI/PSIP section handler.

Then, MPEG-2 TS packets corresponding to the extracted stream PID arereceived and decapsulation is performed on the received MPEG-2 TSpackets (i.e., MPEG-2 headers are removed therefrom) to restore a DSM-CCaddressable section (S310). Step S310 is performed at an addressablesection handler.

An IP datagram that carries the NRT service signaling channel can berestored by removing a section header and a CRC checksum from the DSM-CCaddressable section. Herein, in an embodiment, access information of theIP datagram that carries the NRT service signaling channel includes awell-known destination IP address and a well-known destination UDP portnumber.

FIG. 21 is a flow chart illustrating an embodiment of a procedure inwhich an NST as shown in FIG. 9 is obtained from the restored IPdatagram in FIG. 20 and an NRT service is received based on the obtainedNST.

An IP multicast stream, which has a well-known destination IP multicastaddress and a well-known destination UDP port number and carries an NRTservice signaling channel, is received through the procedure of FIG. 20(S401).

Then, IP datagrams carried through the IP multicast stream are collectedto construct an NST (S402). That is, an NST is identified from NRTservice signaling data included in the IP datagrams using a tableidentifier. Steps S401 and S402 are performed at an IP datagram handlerand a UDP datagram handler.

By parsing the NST, it is possible to extract signaling informationrequired for rendering the NRT service and access information of a FLUTEsession carrying content/files that constitute the NRT service. Forexample, information necessary for rendering content/files of the NRTservice carried in each FLUTE session can be extracted from the NST.Necessary information for rendering of the content/files of the NRTservice may be container information, encoding information, or a mediaobject decoding parameter.

That is, IP access information of a FLUTE session carrying thecontent/files that constitute the NRT service is obtained from the FLUTEsession loop of the NST (S403).

Then, a media_object_association_indicator field in the FLUTE sessionloop is checked (S404) to determine whether or not themedia_object_association_indicator field is true (i.e., “1”) (S405). Ifthe media_object_association_indicator field indicates true, anNRT_media_object_association_descriptor( ) received as oneFLUTE_session_level_descriptor of the NST is parsed (S406). That is, ifthe media_object_association_indicator field value is true, media objectassociation information associated with the FLUTE session is signaleddirectly in text format in the NRT_media_object_association_descriptor() or provided in a stream or file format. In the case where the mediaobject association information is transmitted in a stream or fileformat, the NRT_media_object_association_descriptor( ) provides accessinformation used to receive the stream or file. In the case where themedia object association information is transmitted in a file format,the NRT_media_object_association_descriptor( ) signals parametersrequired to receive a FLUTE session that carries the file.

Accordingly, whether or not the object_association_type field value ofthe NRT_media_object_association_descriptor( ) parsed at step S406 is‘000’ is determined in order to identify whether the media objectassociation information is transmitted through a descriptor, a stream,or a file (S407).

If the object_association_type field value is ‘000’, containerinformation, encoding information, or a media object decoding parameter,which are necessary for rendering the content/files of the NRT service,are obtained from the NRT_media_object_association_descriptor( ) (S409).

If the object_association_type field value is ‘001’ or ‘010’, IP accessinformation is obtained from theNRT_media_object_association_descriptor( ) to receive an IP multicaststream carrying the media object association information or to receive aFLUTE session carrying an object association data structure of the file(S408). Then, container information, encoding information, or a mediaobject decoding parameter, which are necessary for rendering thecontent/files of the NRT service, are obtained from the received IPmulticast stream or FLUTE session (S409).

When step S409 has been performed or when themedia_object_association_indicator field value indicates “false” at stepS405, an NRT_FLUTE_File_delivery_descriptor( ) received as aFLUTE_session_level_descriptor of the NST is parsed to obtain FLUTElevel access information (S410). Then, the FLUTE level accessinformation obtained at step S410 is used to access the FLUTE filedelivery session to collect files belonging to the session (S411). Thefiles are collected to construct one NRT service and the NRT service isstored in a storage medium or displayed on a display (S412). The abovesteps S403-S407, S409, and S410 are performed at the service signalingsection handler, and the above step S408 is performed at the IP datagramhandler, the UDP datagram handler, and the ALC/LCT stream handler. Theabove step S411 is performed at the ALC/LCT stream handler.

In the case where no object_association_type field is allocated to theNST as in FIGS. 14 and 15, the above steps S404 and S405 are omitted.

At least container information, encoding information, or a media objectdecoding parameter, which are necessary for rendering the content/filesof the NRT service according to the present invention, are signaled inthe corresponding NST for each FLUTE session or each component.

The NRT service signaling data transmitted through the NRT servicesignaling channel according to the present invention may further includean NRT Content Table (NCT). In an embodiment, the NCT is used forsignaling/announcing NRT content signaled through the NST. Here, the NSTincluded in the NRT service signaling data is identified through thetable identifier since IP datagrams of the NRT service signaling channelhave the same well-known IP address and the same well-known UDP portnumber. Similarly, whether one NCT includes one section or a pluralityof sections can be determined through a table_id field, a section_numberfield, a last_section_number field, or the like in the NCT section. Acorresponding table can be completed by collecting sections having thesame table identifier after removing IP headers and UDP headers of IPdatagrams of the NRT service signaling channel. For example, the NCT canbe completed by collecting sections having the table identifierallocated to the NCT.

FIG. 22 illustrates an embodiment of a bit stream syntax structure of anNCT section according to the present invention. The following is adetailed description of each field of the NCT section.

In FIG. 22, a table_id field (8 bits) is a table identifier and anidentifier that identifies an NCT can be set in this field.

A section_syntax_indicator field (1 bit) is an indicator that definesthe section type (or format) of the NCT.

A private_indicator field (1 bit) indicates whether or not the NCTcomplies with the private section.

A section_length field (12 bits) indicates the section length of theNST.

An NRT_service_id field (16 bits) indicates a value that uniquelyidentifies an NRT service including content described in the NCT.

A version_number field (5 bits) indicates the version number of the NCT.

A current_next_indicator field (1 bit) indicates whether informationincluded in the corresponding NCT section is applicable currently or inthe future.

A section_number field (8 bits) indicates a current section number ofthe NCT section.

A last_section_number field (8 bits) indicates a last section number ofthe NCT.

A protocol_version field (8 bits) indicates a protocol version forallowing an NCT that transmits parameters having a different structurefrom those defined in the current protocol. (That is, this is an 8-bitunsigned integer field whose function is to allow, in the future, thisNRT content Table to carry parameters that may be structured differentlythan those defined in the current protocol. At present, the value forthe protocol_version shall be zero. Non-zero values of protocol_versionmay be used by a future version of this standard to indicatestructurally different tables.)

A num_contents_in_section field (8 bits) indicates the number ofcontents described in the NCT. Herein, the number of contents is thenumber of contents or files transmitted through a virtual channelspecified by the source_id.

Thereafter, a ‘for’ loop, which will also be referred to as a “contentloop”, is executed the same number of times as a number corresponding tothe num_contents_in_section field value to provide detailed informationabout each content.

A content_version field (32 bits) indicates the version number of acontent or file having a specific content_id value. Here, let us assumethat a content having a content_id value of 0x0010 has been received bya receiver that has previously received and stored a content having thesame content_id value of 0x0010. In this case, if the content_versionfield value is changed, a content newly announced through the NCT isreceived and the previously stored content is updated or replaced usingthe received content. Although the content_version field value indicatesa serial number representing this release version in this embodiment, itmay also directly express the published (or released) time. Here, a newfield that can express the published (or released) time can be used whenit is difficult to represent the published time using thecontent_version field.

A content_id field (16 bits) indicates an identifier that can uniquelyidentify the content (or file).

A content_available_start_time field (32 bits) and acontent_available_end_time field (32 bits) indicate the start and endtimes of the FLUTE session that carries the content.

A content_length_in_seconds field (30 bits) indicates the actualplayback time of the corresponding content in seconds in the case wherethe content (or file) is an A/V file.

A content_size field (48 bits) indicates the length of the content (orfile) in bytes.

A content_delivery_bit_rate field (32 bits) indicates a target transferrate (i.e., bit rate) of the content (or file) and specificallyindicates the target bit rate. That is, when a service provider orbroadcast station transmits a content, this field is used to indicate abandwidth which is to be allocated to the content. Accordingly, thereceiver can determine the minimum time required to receive thecorresponding content or file using the content size andcontent_delivery_bit_rate fields. That is, the receiver can estimate thetime required to receive the content and provide the time information tothe user. The minimum time required to receive the content is obtainedby calculating “(conent_size*8)/(content_delivery_bit_rate)” and isrepresented in seconds.

A content_title_length field (8 bits) indicates the length of thecontent_title_text( ) in bytes. Using this field, the receiver canaccurately determine the number of bytes of data which it needs to readin order to obtain the content_title_text( ) information.

A content_title_text( ) field indicates a content title in the format ofa multiple string structure.

That is, the receiver can obtain configuration information of the NRTcontent/file(s) using the NCT and can provide a guide for the NRTcontent/file(s) based on the obtained configuration information. Then,the receiver can obtain, from the NST, access information of a FLUTEsession that carries content/file(s) selected from the guide and canreceive the selected content using the obtained FLUTE session accessinformation.

On the other hand, in the present invention, container information,encoding information, or a media object decoding parameter, which arenecessary for rendering the content/files of the NRT service, can betransmitted within the NCT (i.e., transmitted while being included inthe NCT). Accordingly, for each contents, the reception system canextract container information, encoding information, or a media objectdecoding parameter, which are necessary for rendering the content, anduse the extracted information to perform rendering of the content.

FIG. 23 illustrates an embodiment of a reception system that canreceive, store, and present NRT content for a fixed NRT service.

The reception system of FIG. 23 may include an operation controller 100,a baseband processor 110, a service demultiplexer 120, a streamcomponent handler 130, a media handler 140, a file handler 150, aservice manager 160, a PVR manager 170, a first storage unit 180, an SGhandler 190, an EPG handler 200, an NRT service manager 210, anapplication manager 220, a middleware engine 230, a presentation manager240, and a User Interface (UI) manager 250.

The baseband processor 110 may include a tuner 111 and a demodulator112. The service demultiplexer 120 may include an MPEG-2 TP handler 121,a PSI/PSIP handler 122, an MPEG-2 TP demultiplexer 123, a descrambler124, and a second storage unit 125.

The stream component handler 130 may include a Packetized ElementaryStream (PES) decoder 131, an Elementary Stream (ES) decoder 132, a PCRhandler 133, an STC handler 134, a DSM-CC addressable section handler135, an IP datagram handler 136, a descrambler 137, a UDP handler 138, aservice signaling section handler 138-1, and a Conditional Access System(CAS) 139.

The media handler 140 may include an A/V decoder 141. The file handler150 may include an ALC/LCT stream handler 151, a file reconstructionbuffer 152, an XML parser 153, an FDT handler 154, a decompressor 155,and a third storage unit 156, and a file decoder 157.

In the broadcast reception device configured as described above withreference to FIG. 23, the tuner 111 tunes to a broadcast signal of adesired channel among broadcast signals received through, for example, aterrestrial wave under control of the service manager 160 anddown-converts the tuned signal into an Intermediate Frequency (IF)signal and outputs the IF signal to the demodulator 112. The tuner 111can receive a real-time stream and a non-real-time stream. In thepresent invention, the non-real-time stream is referred to as an “NRTstream”.

The demodulator 112 performs automatic gain control, carrierreconstruction, timing reconstruction, and the like on a digital IFsignal in a passband received from the tuner 111 to convert the digitalIF signal into a baseband signal and performs channel equalization onthe baseband signal. For example, in the case where the broadcast signalis a VSB modulation signal, the demodulator 112 performs a VSBdemodulation procedure to perform automatic gain control, carrierreconstruction, timing reconstruction, and the like. The data that hasbeen demodulated and channel-equalized by the demodulator 112 is outputin an MPEG-2 Transport Stream (TS) packet format to the MPEG-2 TPhandler 121.

The MPEG-2 TP (Transport Stream Packet) handler 121 includes an MPEG-2TP buffer and an MPEG-2 TP parser and temporarily stores the output ofthe demodulator 112 and then analyzes a TS header and outputs the outputof the demodulator 112 to the demultiplexer 123 if the output of thedemodulator 112 is an RT A/V TS packet or an NRT TS packet and outputsthe output of the demodulator 112 to the PSI/PSIP handler 122 if theoutput of the demodulator 112 is a TS packet for a PSI/PSIP table.

The PSI/PSIP handler 122 includes a PSI/PSIP section buffer and aPSI/PSIP parser. The PSI/PSIP handler 122 temporarily stores the TSpacket output from the MPEG-2 TP handler 121 and restores and parses acorresponding table from PSI/PSIP section data included in a payload inthe TS packet with reference to the table identifier or the like.Herein, whether one table includes one section or a plurality ofsections can be determined through a table_id field, a section_numberfield, a last_section_number field, or the like in the correspondingsection. Then, the corresponding table can be completed by collectingsections having the same table identifier. For example, a VCT can becompleted by collecting sections having a table identifier allocated tothe VCT. Then, information of each parsed table is collected by theservice manager 160 and is then stored in the first storage unit 180.Information of tables such as a VCT, a PAT, a PMT, and a DST accordingto the present invention is stored in the first storage unit 180 via theabove procedure. The service manager 160 stores the table information ina service map and guide data format in the first storage unit 180.

If the received TS packet is an RT A/V TS packet, the demultiplexer 123separates the TS packet into an audio TS packet and a video TS packetand outputs the packets to the PES decoder 131. If the received TSpacket is an NRT TS packet, the demultiplexer 123 outputs the TS packetto the DSM-CC handler 135. If the received TS packet is a TS packetincluding a Program Clock Reference (PCR), the demultiplexer 123 outputsthe TS packet to the PCR handler 133, and, if the received TS packet isa TS packet including Conditional Access (CA) information, thedemultiplexer 123 outputs the TS packet to the CAS 139. The NRT TSpacket is classified into a TS packet including NRT service data and aTS packet including an NRT service signaling channel. A unique PID foridentifying the NRT service is allocated to the TS packet including NRTservice data. On the other hand, a PID of the TS packet including an NRTservice signaling channel is extracted using the DST and the PMT.

If the payload of the received TS packet has been scrambled, thedemultiplexer 123 outputs the TS packet to the descrambler 124 andreceives information required for descrambling (for example, a controlword used for scrambling) from the CAS 139 and performs descrambling onthe TS packet.

The demultiplexer 123 stores an RT A/V packet, which is received at oneof the requests “temporary recording”, “programmed recording”, and “timeshift”, in the second storage unit 125. The second storage unit 125 is alarge-capacity storage medium and may include, for example, an HDD.Downloading (storage) to and uploading (read or reproduction) from thesecond storage unit 125 are performed under control of the PVR manager170.

At a reproduction request, the demultiplexer 123 separates an A/V TSpacket uploaded from the second storage unit 125 into an audio TS packetand a video TS packet and outputs the TS packets to the PES decoder 131.

The demultiplexer 123 performs the above operations under control of theservice manager 160 and/or the PVR (Personal Vedeo Recorder) manager170.

That is, if the service_type field value in the VCT indicates that anNRT service is carried, the service manager 160 extracts and storesidentification information of each NRT service from an NRT servicedescriptor (NRT_service_descriptor( )) as shown in FIG. 7 receivedwithin the virtual channel loop of the VCT and extracts a PID of a DSTfrom the service location descriptor (or the ES loop of the PMT) of theVCT and receives the DST.

Then, the service manager 160 identifies an NRT service from thereceived DST and extracts the PID of an MPEG-2 TS packet including theNRT service signaling channel using the DST and the PMT in order toreceive the identified NRT service. The extracted PID is output to thedemultiplexer 123. The demultiplexer 123 outputs MPEG-2 TS packetscorresponding to the PID output from the service manager 160 to theaddressable section handler 135.

The PCR is a time reference value that the A/V decoder 141 uses foraudio ES and video ES time synchronization. The PCR handler 133 restoresa PCR included in the payload of the received TS packet and outputs thePCR to the STC handler 134. The STC handler 134 restores a System TimeClock (STC), which is a reference clock of the system, from the PCR andoutputs the STC to the A/V decoder 141.

The PES decoder 131 includes a PES buffer and a PES handler. The PESdecoder 131 temporarily stores an audio TS packet and a video TS packetand then removes a TS header from each TS packet to restore an audio PESand a video PES. The restored audio PES and video PES are output to theES decoder 132. The ES decoder 132 includes an ES buffer and an EShandler. The ES decoder 132 removes a PES header from each of the audioPES and the video PES and restores audio and video ESs which are puredata. The restored audio ES and video ES are output to the A/V decoder141.

The A/V decoder 141 decodes the audio ES and the video ES usingrespective decoding algorithms to restore corresponding data prior tocompression and then outputs the restored data to the presentationmanager 240. Here, time synchronization is performed during decoding ofthe audio ES and the video ES according to the STC. For example, theaudio decoding algorithm may use at least one of an AC-3 decodingalgorithm, an MPEG 2 audio decoding algorithm, an MPEG 4 audio decodingalgorithm, an AAC decoding algorithm, an AAC+ decoding algorithm, an HEAAC decoding algorithm, an AAC SBR decoding algorithm, an MPEG surrounddecoding algorithm, a BSAC decoding algorithm, and the video decodingalgorithm may use at least one of an MPEG 2 video decoding algorithm, anMPEG 4 video decoding algorithm, an H.264 decoding algorithm, an SVCdecoding algorithm, and a VC-1 decoding algorithm.

The CAS 139 includes a CA stream buffer and a CA stream handler. The CAS139 temporarily stores the restored service protection data output fromthe CAS 139 or the TS packet output from the MPEG-2 TP handler 121 andthen restores information required for descrambling (for example, acontrol word used for scrambling) from the stored TS packet or serviceprotection data. That is, the CAS 139 extracts an Entitlement ManagementMessage (EMM), Entitlement Control Message (ECM), and the like includedin the payload of the TS packet and analyzes the extracted EMM and ECMto obtain information required for descrambling. The ECM may include acontrol word (CW) used for scrambling. Here, the control word may havebeen encrypted with an authentication key. The EMM may include anauthentication key and certificate information of the correspondingdata. The information required for descrambling obtained by the CAS 139is output to the descramblers 124 and 137.

The DSM-CC section handler 135 includes a DSM-CC section buffer and aDSM-CC section parser. The DSM-CC section handler 135 temporarily storesthe TS packet output from the demultiplexer 123 and restores anaddressable section included in the payload of the TS packet and removesthe header and CRC checksum of the addressable section to restore an IPdatagram and outputs the IP datagram to the IP datagram handler 136. TheIP datagram handler 136 includes an IP datagram buffer and an IPdatagram parser. The IP datagram handler 136 buffers the IP datagramreceived from the DSM-CC section handler 135 and extracts and analyzes aheader of the buffered IP datagram and restores a UDP datagram from thepayload of the IP datagram and outputs the UDP datagram to the UDPdatagram handler 138.

More specifically, when the IP datagram has been scrambled, thescrambled UDP datagram is descrambled by the descrambler 137 and thedescrambled datagram is output to the UDP datagram handler 138. Forexample, the descrambler 137 receives information required fordescrambling (for example, a control word used for scrambling) from theCAS 139 and performs descrambling upon the UDP datagram and then outputsthe descrambled datagram to the UDP datagram handler 138.

The UDP datagram handler 138 includes a UDP datagram buffer and a UDPdatagram parser. The UDP datagram handler 138 buffers the UDP datagramoutput from the IP datagram handler 136 or the descrambler 137 andextracts and analyzes a header of the buffered UDP datagram and restoresdata included in a payload of the UDP datagram. Here, the UDP datagramhandler 138 outputs the restored data to the CAS 139 if the restoreddata is service protection data, outputs the restored data to theservice signaling section handler 138-1 if the restored data is NRTservice signaling data, and outputs the restored data to the ALC/LCTstream handler 151 if the restored data is NRT service data.

In an embodiment, access information of the IP datagram that carries theNRT service signaling channel includes a well-known destination IPaddress and a well-known destination UDP port number.

Accordingly, the IP datagram handler 136 and the UDP datagram handler138 extract an IP multicast stream (i.e., NRT service signaling data),which has a well-known destination IP multicast address and a well-knowndestination UDP port number and carries an NRT service signalingchannel, and outputs the extracted IP multicast stream to the servicesignaling section handler 138-1.

The service signaling section handler 138-1 includes a service signalingsection buffer and a service signaling section parser. The servicesignaling section handler 138-1 restores and pareses an NST as shown inFIG. 9, FIG. 14, or FIG. 15 from the NRT service signaling data andoutputs the NST to the service manager 160. By parsing the NST, it ispossible to extract, from the NST, signaling information required toperform rendering of the NRT service and access information of a FLUTEsession that carries the content/files of the NRT service. For example,it is possible to extract information necessary for rendering thecontent/files of an NRT service that is transmitted through each FLUTEsession from the NST. The information necessary for rendering thecontent/files of the NRT service may be container information, encodinginformation, or a media object decoding parameter.

The information parsed from the NST is collected by the service manager160 and the collected information is stored in the first storage unit180. The service manager 160 stores the information extracted from theNST in a service map and guide data format in the first storage unit180. In another embodiment, the function of the service manager 160 maybe performed by the NRT service manager 210. That is, the informationparsed from the NST may be collected by the NRT service manager 210 andthe collected information may then be stored in the first storage unit180.

The ALC/LCT stream handler 151 includes an ALC/LCT stream buffer and anALC/LCT stream parser. The ALC/LCT stream handler 151 buffers datahaving an ALC/LCT structure output from the UDP datagram handler 138 andthen analyzes a header and a header extension of an ALC/LCT session fromthe buffered data. If the result of analysis of the header and headerextension of the ALC/LCT session is that data transmitted in the ALC/LCTsession has an XML structure, the ALC/LCT stream handler 151 outputs thedata to the XML parser 153. If the result of analysis is that the datatransmitted in the ALC/LCT session has a file structure, the ALC/LCTstream handler 151 temporarily stores the data in the filereconstruction buffer 152 and then outputs the data to the file decoder157 or stores the data in the third storage unit 156. If the datatransmitted in the ALC/LCT session is data for an NRT service, theALC/LCT stream handler 151 is controlled by the NRT service manager 210.Here, if the data transmitted in the ALC/LCT session has beencompressed, the data is decompressed by the decompressor 155 and thedecompressed data is output to at least one of the XML parser 153, thefile decoder 157, and the third storage unit 156.

The XML parser 153 analyzes XML data transmitted through the ALC/LCTsession and outputs the analyzed XML data to the FDT handler 154 if theanalyzed data is data for a file-based service and outputs the analyzedXML data to the SG handler 190 if the analyzed data is service guidedata.

The FDT handler 154 analyzes and processes the file description table ofthe FLUTE protocol through the ALC/LCT session. The FDT handler 154 iscontrolled by the NRT service manager 210 if the received file is a filefor an NRT service.

The SG handler 190 collects and analyzes data for a service guidetransmitted in an XML structure and outputs the data to the EPG manager200.

The file decoder 157 decodes a file output from the file reconstructionbuffer 152, a file output from the decompressor 155, or a file uploadedfrom the third storage unit 156 using a preset algorithm and outputs thedecoded file to the middleware engine 230 or outputs the decoded file tothe A/V decoder 141.

The middleware engine 230 analyzes and executes the data having a filestructure (i.e., application). The middleware engine 230 may then outputthe application to an output device such as a screen or speaker throughthe presentation manager 240. In an embodiment, the middleware engine230 is a Java-based middleware engine.

The EPG manager 200 receives service guide data from the SG handler 190according to a user input and converts the received service guide datainto a display format and outputs the data to the presentation manager240. The application manager 220 performs overall management associatedwith processing of the application data received in a file format or thelike.

The service manager 160 collects and analyzes NRT service signaling datatransmitted through an NRT service signaling channel or PSI/PSIP tabledata and creates a service map and then stores the map in the firststorage unit 125. The service manager 160 controls access information ofan NRT service desired by the user and controls the tuner 111, thedemodulator 112, the IP datagram handler 136, etc.

The operation controller 100 controls at least one of the servicemanager 160, the PVR manager 170, the EPG manager 200, the NRT servicemanager 210, the application manager 220, and the presentation manager240 according to a user command received through the UI manager 250 andperforms a function according to the user command.

The NRT service manager 210 performs overall management of the NRTservice transmitted in a content/file(s) format through the FLUTEsession in the IP layer.

The UI manager 250 transfers the user input to the operation controller100 through a UI.

The presentation manager 240 provides at least one of the audio andvideo data output from the A/V decoder 141, the file data output fromthe middleware engine 230, and the service guide data output from theEPG manager 210 to the user through a speaker and/or screen.

On the other hand, one of the service signaling section handler 138-1,the service manager 160, and the NRT service manager 210 obtains IPaccess information associated with a FLUTE session that carries thecontent/files of the NRT service from the FLUTE session loop (or thecomponent loop of the NST of FIGS. 14 and 15) of the NST of FIG. 9. Inaddition, when an NRT_media_object_association_descriptor( ) is receivedwithin the FLUTE session loop (or the component loop of the NST of FIGS.14 and 15), media object association information associated with theFLUTE session is extracted from theNRT_media_object_association_descriptor( ). In an embodiment, the mediaobject association information is provided in a MIME type text format.Here, the media object association information is directly described intext format in the NRT_media_object_association_descriptor( ) or isprovided in text format within a stream or file. In the case where themedia object association information is transmitted in a stream or fileformat, the NRT_media_object_association_descriptor( ) provides accessinformation used to receive the stream or file. In addition, in the casewhere the media object association information is transmitted in a fileformat, the NRT_media_object_association_descriptor( ) signalsparameters required to receive the FLUTE session that carries the file.The media object association information includes container information,encoding information, a media object decoding parameter, or the likethat are necessary for rendering the content/files of the NRT service.In addition, FLUTE level access information is obtained from anNRT_FLUTE_File_delivery_descriptor( ) that is received within the FLUTEsession loop of the NST of FIG. 9. FLUTE level access information isalso obtained from a component_descriptor( ) that is received within thecomponent loop of the NST of FIG. 14 or 15.

Then, the ALC/LCT stream handler 151 and the file decoder 157 access theFLUTE file delivery session using the obtained FLUTE level accessinformation to collect files belonging to the session. The files arecollected to construct one NRT service. This NRT service is stored inthe third storage unit 156 or is output to the middleware engine 230 orthe A/V decoder 141 to be displayed on the display.

The third storage unit 156 is a storage medium that stores files such asNRT service data and may be used while being shared with the secondstorage unit 125 and may also be used separately.

Mobile NRT Service

“Main service data” among the terms used in association with the mobileNRT service according to the present invention refers to data that canbe received by a fixed (or stationary) reception system and may includeAudio/Video (A/V). That is, the main service data may include HighDefinition (HD) or Standard Definition (SD) A/V data and may alsoinclude a variety of data for data broadcasting. In addition, the term“known data” refers to data that is already known through agreementbetween the transmitting and receiving sides.

“M/H (or MH)” among the terms used in the present invention are theinitials of Mobile and Handheld and refers to a concept opposite to“fixed”. In addition, M/H service data includes at least one of mobileservice data and handheld service data. For ease of explanation, in thepresent invention, M/H service data is also referred to as “mobileservice data”. Here, the mobile service data may include not only M/Hservice data but also any service data associated with a mobile orportable service. Thus, the mobile service data is not limited to theM/H service data.

The mobile service data defined as described above may be data havinginformation such as stock information or a program execution file andmay also be A/V data. The mobile service data, which is service data fora portable or mobile terminal (or broadcast receiver), may be A/V datahaving a lower data rate and lower resolution than those of the mainservice data. For example, if an A/V codec used for a conventional mainservice is an MPEG-2 codec, a scheme such as MPEG-4 Advance Video Coding(AVC) or scalable Video Coding which has a higher image compressionefficiency may be used for an A/V codec for a mobile service. Inaddition, any type of data can be transmitted as the mobile servicedata. For example, Transport Protocol Expert Group (TPEG) data forbroadcasting traffic information in real time may be transmitted asmobile service data.

Data services using the mobile service data may include a weatherservice, a traffic service, an interactive quiz program, a real timesurvey of public opinion, an interactive education broadcast, a gameservice, an information provision service that provides dramainformation such as plot, characters, background music, and shootlocation, an information provision service that provides sportsinformation such as past game records and players' profiles and scores,and an information provision service that provides information ofprograms categorized by service, media, time, or subject and whichprovides product information while enabling the user to ordercorresponding products. However, the present invention is not limited tothese services.

FIG. 24 illustrates an example of a protocol stack for providing amobile NRT service. In the example of FIG. 24, an adaptation layer isprovided between the IP layer and the physical layer to make it possibleto transmit an IP datagram of signaling information and an IP datagramof mobile service data without using the MPEG-2 TS format.

Specifically, in the broadcast station, NRT content/files are packetizedaccording to a file transfer protocol scheme and are again packetizedaccording to an Asynchronous Layered Coding/Layered Coding Transport(ALC/LCT) scheme as shown in FIG. 24. The packetized ALC/LCT data isagain packetized according to a UDP scheme and the packetizedALC/LCT/UDP data is again packetized into ALC/LCT/UDP/IP data accordingto an IP scheme. In the present invention, the packetized ALC/LCT/UDP/IPdata is referred to as an “IP datagram” for ease of explanation. Here,OMA BCAST service guide information may also be constructed into an IPdatagram via the same procedure as that of the NRT content/file(s).

In addition, NRT service signaling information required to receive theNRT content/files is transmitted through a service signaling channel.Here, the service signaling channel is packetized according to a UserDatagram Protocol (UDP) scheme and the packetized UDP data is againpacketized into UDP/IP data according to an IP scheme. In the presentinvention, the UDP/IP data is also referred to as an “IP datagram” forease of explanation. In an embodiment, the service signaling channel ismulticast after being encapsulated in an IP datagram having a well-knownIP destination address and a well-known destination UDP port number.

In the case of A/V streaming for a mobile service, an RTP header, a UDPheader, and an IP header are sequentially added to construct one IPdatagram.

In the adaptation layer, IP datagrams of the mobile service data, theNRT service signaling channel, and the NRT service are collected togenerate an RS frame. An IP datagram of the OMA BCAST service guide maybe included in the RS frame.

The column length (i.e., the number of rows) of the RS frame isdetermined to be 187 bytes and the row length thereof is N bytes where Nmay vary signaling information such as a transmission parameter (or TPCdata).

The RS frame is modulated according to a preset transmission scheme (forexample, a VSB transmission scheme) in the mobile physical layer and themodulated RS frame is then transmitted to the reception system.

FIG. 25 illustrates an exemplary structure of a data group according tothe present invention. FIG. 25 shows an example of dividing a data groupaccording to the data structure of the present invention into 10 M/Hblocks (i.e., M/H block 1 (B1) to M/H block 10 (B10)). In this example,each M/H block has the length of 16 segments. Referring to FIG. 25, onlythe RS parity data are allocated to portions of the 5 segments beforethe M/H block 1 (B1) and the 5 segments following the M/H block 10(B10). The RS parity data are excluded in regions A to D of the datagroup. More specifically, when it is assumed that one data group isdivided into regions A, B, C, and D, each M/H block may be included inany one of region A to region D depending upon the characteristic ofeach M/H block within the data group.

Herein, the data group is divided into a plurality of regions to be usedfor different purposes. More specifically, a region of the main servicedata having no interference or a very low interference level may beconsidered to have a more resistant (or stronger) receiving performanceas compared to regions having higher interference levels. Additionally,when using a system inserting and transmitting known data in the datagroup, wherein the known data are known based upon an agreement betweenthe transmitting system and the receiving system, and when consecutivelylong known data are to be periodically inserted in the mobile servicedata, the known data having a predetermined length may be periodicallyinserted in the region having no interference from the main service data(i.e., a region wherein the main service data are not mixed). However,due to interference from the main service data, it is difficult toperiodically insert known data and also to insert consecutively longknown data to a region having interference from the main service data.

In the data group, the data included in a RS frame will be referred toas “mobile service data” for simplicity. The RS frame data (or the dataof the RS frame) will be described in more detail in a later process.

Referring to FIG. 25, M/H block 4 (B4) to M/H block 7 (B7) correspond toregions without interference of the main service data. M/H block 4 (B4)to M/H block 7 (B7) within the data group shown in FIG. 25 correspond toa region where no interference from the main service data occurs. Inthis example, a long known data sequence is inserted at both thebeginning and end of each M/H block. In the description of the presentinvention, the region including M/H block 4 (B4) to M/H block 7 (B7)will be referred to as “region A (=B4+B5+B6+B7)”. As described above,when the data group includes region A having a long known data sequenceinserted at both the beginning and end of each M/H block, the receivingsystem is capable of performing equalization by using the channelinformation that can be obtained from the known data. Therefore, thestrongest equalizing performance may be yielded (or obtained) from oneof region A to region D.

In the example of the data group shown in FIG. 25, M/H block 3 (B3) andM/H block 8 (B8) correspond to a region having little interference fromthe main service data. Herein, a long known data sequence is inserted inonly one side of each M/H block B3 and B8. More specifically, due to theinterference from the main service data, a long known data sequence isinserted at the end of M/H block 3 (B3), and another long known datasequence is inserted at the beginning of M/H block 8 (B8). In thepresent invention, the region including M/H block 3 (B3) and M/H block 8(B8) will be referred to as “region B (=B3+B8)”. As described above,when the data group includes region B having a long known data sequenceinserted at only one side (beginning or end) of each M/H block, thereceiving system is capable of performing equalization by using thechannel information that can be obtained from the known data. Therefore,a stronger equalizing performance as compared to region C/D may beyielded (or obtained).

Referring to FIG. 25, M/H block 2 (B2) and M/H block 9 (B9) correspondto a region having more interference from the main service data ascompared to region B. A long known data sequence cannot be inserted inany side of M/H block 2 (B2) and M/H block 9 (B9). Herein, the regionincluding M/H block 2 (B2) and M/H block 9 (B9) will be referred to as“region C (=B2+B9)”. Finally, in the example shown in FIG. 25, M/H block1 (B1) and M/H block 10 (B10) correspond to a region having moreinterference from the main service data as compared to region C.Similarly, a long known data sequence cannot be inserted in any side ofM/H block 1 (B1) and M/H block 10 (B10). Herein, the region includingM/H block 1 (B1) and M/H block 10 (B10) will be referred to as “region D(=B1+B10)”. Since region C/D is spaced further apart from the known datasequence, when the channel environment undergoes frequent and abruptchanges, the receiving performance of region C/D may be deteriorated.

Additionally, the data group includes a signaling information areawherein signaling information is assigned (or allocated). In the presentinvention, the signaling information area may start from the 1^(st)segment of the 4^(th) M/H block (B4) to a portion of the 2^(nd) segment.According to an embodiment of the present invention, the signalinginformation area for inserting signaling information may start from the1^(st) segment of the 4^(th) M/H block (B4) to a portion of the 2^(nd)segment. More specifically, 276(=207+69) bytes of the 4^(th) M/H block(B4) in each data group are assigned as the signaling information area.In other words, the signaling information area consists of 207 bytes ofthe 1^(st) segment and the first 69 bytes of the 2^(nd) segment of the4th M/H block (B4). The 1^(st) segment of the 4^(th) M/H block (B4)corresponds to the 17^(th) or 173^(rd) segment of a VSB field.

Herein, the signaling data transmitted through the signaling informationarea may be identified by two different types of channel data: atransmission parameter channel (TPC) data and a fast information channel(FIC) data.

Also, the TPC data includes parameters that are mostly used in aphysical layer module. And, since the TPC data are transmitted withoutbeing interleaved, the TPC data may be accessed by slot unit in thereceiving system. The FIC data are provided in order to enable thereceiving system to perform fast service acquisition. Herein, the FICdata include cross layer information between a physical layer and anupper layer. The FIC data are interleaved in sub-frame units and thentransmitted.

For example, when the data group includes 6 known data sequences, asshown in FIG. 25, the signaling information area is located between thefirst known data sequence and the second known data sequence. Morespecifically, the first known data sequence is inserted in the last 2segments of the 3rd M/H block (B3), and the second known data sequencein inserted in the 2^(nd) and 3^(rd) segments of the 4^(th) M/H block(B4). Furthermore, the 3^(rd) to 6^(th) known data sequences arerespectively inserted in the last 2 segments of each of the 4^(th),5^(th), 6^(th), and 7^(th) M/H blocks (B4, B5, B6, and B7). The 1^(st)and 3^(rd) to 6^(th) known data sequences are spaced apart by 16segments.

FIG. 26 illustrates an RS frame according to an embodiment of thepresent invention.

The RS frame is received for each M/H frame in a condition where thereceiving system is switched to a time-slicing mode.

The RS frame according to an embodiment of the present invention isconfigured of multiple M/H transport packets (TPs). Each M/H TP consistsof a 2-byte M/H header and a (N−2)-byte M/H payload. The M/H payload mayinclude at least one of an IP datagram of mobile service data, an IPdatagram of an SMT, and an IP datagram of an SGDD.

More specifically, one RS frame includes an IP datagram of each mobileservice data set. Also, an IP datagram of an SMT section is included ineach of the RS frames. According to an embodiment of the presentinvention, the IP datagram of the SMT or the IP datagram of a servicesignaling channel transmitting the SMT comprises a well-known IPdestination address and a well-known destination UDP port number. And,the IP datagram is included in the RS frame so as to be received.

Furthermore, an IP datagram of the SGDD may be included in the RS frame.According to an embodiment of the present invention, the accessinformation of the SGDD or the access information of the service guideannouncement channel transmitting the SGDD is signaled to the SMT. Theaccess information of the service guide announcement channel includesservice guide bootstrap information.

Three types of IP datagrams (IP datagram 1, IP datagram 2, and IPdatagram 3) are included in the RS frame shown in FIG. 26, one of thethree IP datagrams is designated for the SMT. The remaining IP datagramsmay correspond to IP datagrams of mobile service data or IP datagramsdesignated for the SGDD. In the transmitting system, RS-encoding isperformed on the RS frame in a column direction, and CRC-encoding isperformed on the RS frame in a row direction. Then, the processed RSframe is allocated to the corresponding regions within multiple datagroups, thereby being transmitted. In the description of the presentinvention, all of the data included in the RS frame will be referred toas mobile service data for simplicity.

Data Transmission Structure

FIG. 27 illustrates a structure of an M/H frame for transmitting andreceiving mobile service data according to the present invention. In theexample shown in FIG. 27, one M/H frame consists of 5 sub-frames,wherein each sub-frame includes 16 slots. In this case, the M/H frameaccording to the present invention includes 5 sub-frames and 80 slots.Also, in a packet level, one slot is configured of 156 data packets(i.e., transport stream packets), and in a symbol level, one slot isconfigured of 156 data segments. Herein, the size of one slotcorresponds to one half (½) of a VSB field. More specifically, since one207-byte data packet has the same amount of data as a data segment, adata packet prior to being interleaved may also be used as a datasegment. At this point, two VSB fields are grouped to form a VSB frame.

One VSB frame consists of 2 VSB fields (i.e., an odd field and an evenfield). Herein, each VSB field includes a field synchronization segmentand 312 data segments. The slot corresponds to a basic time unit formultiplexing the mobile service data and the main service data.

Herein, one slot may either include the mobile service data or beconfigured only of the main service data. If the first 118 data packetswithin the slot correspond to a data group, the remaining 38 datapackets become the main service data packets. In another example, whenno data group exists in a slot, the corresponding slot is configured of156 main service data packets.

Meanwhile, the data within one RS frame may be assigned either to all ofregions A/B/C/D within the corresponding data group, or to at least oneof regions A/B/C/D. In the embodiment of the present invention, the datawithin one RS frame may be assigned either to all of regions A/B/C/D, orto at least one of regions A/B and regions C/D. If the mobile servicedata are assigned to the latter case (i.e., one of regions A/B andregions C/D), the RS frame being assigned to regions A/B and the RSframe being assigned to regions C/D within the corresponding data groupare different from one another.

According to the embodiment of the present invention, the RS frame beingassigned to regions A/B within the corresponding data group will bereferred to as a “primary RS frame”, and the RS frame being assigned toregions C/D within the corresponding data group will be referred to as a“secondary RS frame”, for simplicity. Also, the primary RS frame and thesecondary RS frame form (or configure) one parade. More specifically,when the data within one RS frame are assigned either to all of regionsA/B/C/D within the corresponding data group, one parade transmits one RSframe. Conversely, when the data within one RS frame are assigned eitherto at least one of regions A/B and regions C/D, one parade may transmitup to 2 RS frames. More specifically, the RS frame mode indicateswhether a parade transmits one RS frame, or whether the parade transmitstwo RS frames. Such RS frame mode is transmitted as the TPC data. Table2 below shows an example of the RS frame mode.

TABLE 2 RS frame mode (2 bits) Description 00 There is only one primaryRS frame for all group regions 01 There are two separate RS frames.Primary RS frame for group regions A and B Secondary RS frame for groupregions C and D 10 Reserved 11 Reserved

Table 2 illustrates an example of allocating 2 bits in order to indicatethe RS frame mode. For example, referring to Table 2, when the RS framemode value is equal to ‘00’, this indicates that one parade transmitsone RS frame. And, when the RS frame mode value is equal to ‘01’, thisindicates that one parade transmits two RS frames, i.e., the primary RSframe and the secondary RS frame. More specifically, when the RS framemode value is equal to ‘01’, data of the primary RS frame for regionsA/B are assigned and transmitted to regions A/B of the correspondingdata group. Similarly, data of the secondary RS frame for regions C/Dare assigned and transmitted to regions C/D of the corresponding datagroup.

As described in the assignment of data groups, the parades are alsoassigned to be spaced as far apart from one another as possible withinthe sub-frame. Thus, the system can be capable of responding promptlyand effectively to any burst error that may occur within a sub-frame.

Furthermore, the method of assigning parades may be identically appliedto all M/H frames or differently applied to each M/H frame. According tothe embodiment of the present invention, the parades may be assigneddifferently for each M/H frame and identically for all sub-frames withinan M/H frame. More specifically, the M/H frame structure may vary by M/Hframe units. Thus, an ensemble rate may be adjusted on a more frequentand flexible basis.

That is, the concept of an M/H ensemble is applied in the embodiment ofthe present invention, thereby defining a collection (or group) ofservices. Each M/H ensemble carries the same QoS and is coded with thesame FEC code. Also, each M/H ensemble has the same unique identifier(i.e., ensemble ID) and corresponds to consecutive RS frames.

FIG. 28 illustrates a data transmission structure in a physical layeraccording to an embodiment of the present invention. More specifically,FIG. 28 shows an example of FIC data being included in each data groupand transmitted. As described above, an M/H frame for approximately0.968 seconds is divided into 5 sub-frames, wherein data groupscorresponding to multiple ensembles exist in combination within eachsub-frame. Also, the data groups corresponding to each ensemble areinterleaved in M/H frame units, so as to configure an RS frame belongingto one ensemble. In FIG. 28, 2 ensembles (wherein NoG=4 and NoG=3) existin each sub-frame. Furthermore, a predetermined portion (e.g., 37bytes/data group) of each data group is used for the purpose ofseparately delivering encoded FIC data apart from the RS frame datachannel. The FIC region assigned to each data group consists of one FICsegment. Herein, each of the FIC segments is interleaved in sub-frameunits. For example, RS-encoding and SCCC encoding processes are appliedto the RS frame data, and RS encoding and PCCC encoding processes areapplied to the FIC data. Also, as well as the FIC data, the RS encodingand PCCC encoding processes are applied to the TPC data. Morespecifically, (187+P,187)-RS encoding process is applied to the RS framedata, (51,37)-RS encoding process is applied to the FIC data, and(18,10)-RS encoding process is applied to the TPC. Herein, P is thenumber of parity bytes.

Hierarchical Signaling Structure

FIG. 29 illustrates a hierarchical signaling structure according to anembodiment of the present invention. As shown in FIG. 29, the mobilebroadcasting technology according to the embodiment of the presentinvention adopts a signaling method using FIC and SMT (Service MapTable). In the description of the present invention, the signalingstructure will be referred to as a hierarchical signaling structure.More specifically, FIG. 29 illustrates a hierarchical signalingstructure that provides data required for service acquisition through anFIC chunk and a service map table (SMT), among IP-level mobile servicesignaling channels. As shown in FIG. 29, the FIC chunk uses its fastcharacteristic, so as to deliver a mapping relation between a serviceand an ensemble to the receiving system. More specifically, the FICchunk quickly locates (or finds) an ensemble that can deliver a servicerequested by the receiving system, thereby providing the receivingsystem with signaling data that can enable the receiving system toswiftly receive RS frames of a respective ensemble.

FIG. 30 illustrates an embodiment of a bit stream syntax structure of anSMT section that provides signaling information of NRT service data thatis transmitted within the RS frame of FIG. 26.

Herein, although the syntax is written in an MPEG-2 private section forbetter understanding, the syntax data may be in any other format.

The SMT describes IP access information and signaling information of amobile service (or signaling information of an NRT service) in anensemble in which the SMT is transmitted. The SMT also providesbroadcast stream information of each service using aTransport_Stream_ID, which is an identifier of a broadcast stream towhich the service belongs. Then, the SMT according to the embodiment ofthe present invention includes description information of each mobileservice (or NRT service) in one ensemble and other additionalinformation may be included in the descriptor region.

As shown in FIG. 30, the SMT section may be transmitted in an IP streamformat within an RS frame. In this case, each RS frame decoder, whichwill be described later, decodes a received RT service and outputs thedecoded RS frame to a corresponding RS frame handler. Each frame handlerdivides the received RT service into row units to create an M/H TP andoutputs the M/H TP to an M/H TP handler.

On the other hand, the following are example fields that can betransmitted through the SMT.

A table_id field (8 bits) is a field for identifying the type of a tableand it can be determined through this field that this table section is atable section in the SMT. (That is, this table_id field includes an8-bit unsigned integer that indicates the type of a table sectiondefined in a Service Map Table (SMT)).

A section_syntax_indicator field (lbit) corresponds to an indicatordefining the section format of the SMT. For example, thesection_syntax_indicator field shall be set to ‘0’ to always indicatethat this table is derived from the “short” form of the MPEG-2 privatesection table format may correspond to MPEG long-form syntax. (That is,this 1-bit field shall be set to ‘0’ to always indicate that this tableis derived from the “short” form of the MPEG-2 private section table).

A private_indicator field (1 bit) indicates whether or not the SMTfollows (or is in accordance with) a private section. (That is, this1-bit field shall be set to ‘1’).

A section_length field (12 bits) specifies the section length of theremaining SMT data bytes immediately following the section_length field.(That is, it specifies the number of remaining bytes this table sectionimmediately following this field. The value in this field shall notexceed 4093 (0xFFD)).

A table_id_extension field (16 bits) corresponds to a table-dependent.Herein, the table_id_extension field corresponds to a logical portion ofthe table_id field providing the scope for the remaining fields. (Thatis, this is a 16-bit field and is table-dependent. It shall beconsidered to be logically part of the table_id field providing thescope for the remaining fields). The table_id_extension field includesan SMT_protocol_version field.

An SMT_protocol_version field (8 bits) indicates a protocol version forallowing the corresponding SMT to carry, in a future process, parametersthat may be structure differently from those defined in the currentprotocol. (That is, the 8-bit unsigned integer field whose function isto allow, in the future, this SMT to carry parameters that may bestructured differently than those defined in the current protocol. Atpresent, the value for the SMT_protocol_version shall be zero. Non-zerovalues of SMT_protocol_version may be used by a future version of thisstandard to indicate structurally different tables).

An ensemble_id field (8 bits) indicates the ID values associated withthe corresponding ensemble that can be assigned to the ensemble id fieldmay range from ‘0x00’ and ‘0x3F’. It is preferable that the value of theensemble_id field is derived from the TPC data of the parade_id field.When the corresponding ensemble is transmitted through a primary RSframe, the most significant bit (MSB) is set to ‘0’, and the remaining 7bits are used as the parade_id field value of the corresponding parade.Meanwhile, when the corresponding ensemble is transmitted through aprimary RS frame, the most significant bit (MSB) is set to ‘1’, and theremaining 7 bits are used as the parade_id field value of thecorresponding parade.

A version_number field (5 bits) specifies the version number of the SMT.

A current_next_indicator field (1 bit) indicates whether or not the SMTsection is currently applicable. (That is, the one-bit indicator, whichwhen set to ‘1’ shall indicate that the Service Map Table sent iscurrently applicable. When the bit is set to ‘0’, it shall indicate thatthe table sent is not yet applicable and will be the next table tobecome valid. This standard imposes no requirement that “next” tables(those with current_next_indicator set to ‘0’) must be sent. An updateto the currently applicable table shall be signaled by incrementing theversion_number field).

A section_number field (8 bits) specifies the number of the current SMTsection. (That is, this 8-bit field shall give the section number ofthis NRT Service Signaling table section. The section_number of thefirst section in an NRT Service Signaling table shall be 0x00. Thesection_number shall be incremented by 1 with each additional section inthe NRT Service Signaling table).

A last_section_number field (8 bits) specifies the number of the lastsection configuring the corresponding SMT. (That is, this 8-bit fieldshall give the number of the last section (i.e., the section with thehighest section_number) of the Service Signaling table of which thissection is a part).

A num_services field (8 bits) indicates the number of services in theSMT section. (That is, this num_services field is an 8 bit field thatspecifies the number of services in this SMT section.) At least onemobile service alone may be received within (i.e., while being includedin) the ensemble that includes the SMT and at least one NRT servicealone may be received within the ensemble and both the mobile serviceand the NRT service may also be received within the ensemble. If NRTservices alone are transmitted within the ensemble which includes theSMT, the num_services field may indicate the number of NRT servicesincluded in the SMT.

Thereafter, the ‘for’ loop, which is also referred to as a “serviceloop”, is executed the same number of times as the number of servicescorresponding to the num_services field value to provide signalinginformation of a plurality of services. That is, signaling informationof the corresponding service is indicated for each of the servicesincluded in the SMT section. The service may be a mobile service or maybe NRT service. Here, it is possible to provide the following fieldinformation for each service.

A service_id field (16 bits) indicates a value that can uniquelyidentify the corresponding service. (That is, this field indicates a16-bit unsigned integer that shall uniquely identify this NRT servicewithin the scope of this SMT section.) The service_id field value of oneservice does not vary while the service is maintained. (That is, theservice_id of a service shall not change throughout the life of theservice.) Here, in order to avoid confusion, when a service isterminated, a service_id field value of the service may remain unuseduntil a specific time elapses. (That is, to avoid confusion, it isrecommended that if a service is terminated, then the service_id for theservice should not be used for another service until a suitable intervalof time elapses.) Here, if the service is an NRT service, the service_idfield will identify the NRT service.

A Multi_ensemble_service field (2 bits) indicates whether or not theservice is transmitted through more than one ensemble. This field alsoindicates whether or not the service can be represented by a part of theservice that is transmitted through the ensemble. (That is, themulti_ensemble_service field is a two-bit enumerated field that shallidentify whether the service is carried across more than one Ensemble.Also, this field shall identify whether or not the service can berendered only with the portion of service carried through thisEnsemble.).

A service_status field (2 bits) indicates the status of the service.Here, the MSB of the service_status field indicates whether thecorresponding service is active (when it is ‘1’) or inactive (when it is‘0’) and the LSB indicates whether the corresponding service is hidden(when it is ‘1’) or not hidden (when it is ‘0’). When the service is anNRT service, the MSB of the service_status field indicates whether theNRT service is active (when it is ‘1’) or inactive (when it is ‘0’) andthe LSB indicates whether the NRT service is hidden (when it is ‘1’) ornot hidden (when it is ‘0’).

An SP_indicator field (1 bit) indicates whether or not serviceprotection is applied to the corresponding service. If the SP_indicatorfield value is 1, service protection is applied to at least one of thecomponents that are required to provide meaningful presentation of thecorresponding service. (That is, the SP_indicator field is a 1-bit fieldthat indicates, when set to 1, that service protection is applied to atleast one of the components needed to provide a meaningful presentationof this NRT service.)

A short_service_name_length field (3 bits) indicates, in bytes, thelength of a short service name that is described in theshort_service_name field.

A short_service_name field indicates a short name of the service. (Thatis, the short_service_name field indicates the short name of theservice, each character of which shall be encoded per UTF-8 [29]. Whenthere is an odd number of bytes in the short name, the second byte ofthe last of the byte pair per the pair count indicated by theshort_service_name_length field shall contain 0x00). For example, whenthe service is a mobile service, the short_service_name field indicatesthe short name of the mobile service, and, when the service is an NRTservice, the short_service_name field indicates the short name of theNRT service.

A service_category field (6 bits) indicates the type category of theservice as defined in the following Table 3. When the value of thisfield is set to a value indicating “informative only”, the value of thefield is handled as an informative description of the category of theservice. Then, in order to identify the actual category of a receivedservice, it is necessary for receivers to check thecomponent_level_descriptors( ) field of the SMT. They have an NTP timebase component for services having video and/or audio components.

TABLE 3 service_category Meaning 0x00 The service category is notspecified by the service_category field. Look in thecomponent_level_descriptors( ) to identify the category of service. 0x01Basic TV (Informative only) - Look in the component_level_descriptors( )to identify the specific category of service. 0x02 Basic Radio(Informative only) - Look in the component_level_descriptors( ) toidentify the specific category of service. 0x03 RI service - RightsIssuer service as defined in Part #6 [34] of this standard. 0x04-0x07Not specified by the current version of this standard. 0x08 ServiceGuide - Service Guide (Announcement) as defined in Part #4 [x] of thisstandard. 0x09-0x0C Not specified by the current version of thisstandard. 0x0E NRT Service 0x0F-0XFF [Reserved for future ATSC use]

Specifically, in association with the present invention, for example,when the service_category field has a value of ‘0x0E’, this indicatesthat the service is an NRT service. In this case, it can be determinedthat signaling information of the service that is currently described inthe SMT section is signaling information of an NRT service.

A num_components field (5 bits) indicates the number of IP streamcomponents included in a corresponding service. (That is, thisnum_components field is a 5-bit field that specifies the number of IPstream components in this service).

An IP_version_flag field (1 bit) indicates that the source_IP_addressfield, the service_destination_IP_address field, and thecomponent_destination_IP_address field are IPv4 addresses when thisfield is set to ‘0’ and indicates that the source_IP_address field, theservice_destination_IP_address field, and thecomponent_destination_IP_address field are IPv6 addresses when thisfield is set to ‘1’. (That is, this IP_version_flag field is a 1-bitindicator that, when set to ‘0’, shall indicate that thesource_IP_address, service_destination_IP_address, andcomponent_destination_IP_address fields are IPv4 addresses. The value of‘1’ for this field is reserved for possible future indication that thesource_IP_address, service_destination_IP_address, andcomponent_destination_IP_address fields are IPv6 addresses. Use of IPv6addressing is not currently defined).

A source_IP_address_flag field (1 bit) indicates that a source IPaddress value for the corresponding service is present to indicate asource specific multicast when this flag field is set. (That is, thissource_IP_address_flag field is a 1-bit Boolean flag that shallindicate, when set, that a source IP address value for this service ispresent to indicate a source specific multicast).

A service_destination_IP_address_flag field (1 bit) indicates that aservice_destination_IP_address value is present to provide a default IPaddress for the components of the corresponding service when this flagfield is set to ‘1’. (That is, this service_destination_IP_address_flagfield is a 1-bit Boolean flag that indicates, when set to ‘1’, that aservice_destination_IP_address value is present to serve as the defaultIP address for the components of this service).

A source_IP_address field (32 bits or 128 bits) is required to beinterpreted (or analyzed) when the source_IP_address_flag is set to ‘1’.However, when the source_IP_address_flag is set to ‘0’, thesource_IP_address field is not required to be interpreted (or analyzed).When the source_IP_address_flag is set to ‘1’, and when theIP_version_flag field is set to ‘0’, the corresponding field indicatesthat the source_IP_address field indicates a 32-bit IPv4 addressspecifying the corresponding mobile service source. Alternatively, ifthe IP_version_flag field is set to ‘1’, the source_IP_address fieldindicates a 32-bit IPv6 address specifying the corresponding mobileservice source. (That is, this source_IP_address field shall be presentif the source_IP_address_flag is set to ‘1’ and shall not be present ifthe source_IP_address_flag is set to ‘0’. If present, this field shallcontain the source IP address of all the IP datagrams carrying thecomponents of this NRT service. The conditional use of the 128 bit-longaddress version of this field is to facilitate possible use of IPv6 inthe future, although use of IPv6 is not currently defined).

If the service is an NRT service, the Source_IP_address field is asource IP address of the same server that transmits all channels of theFLUTE session.

In a service_destination_IP_address field (32 bits or 128 bits), whenthe service_destination_IP_address_flag field is set to ‘1’, theservice_destination_IP_address_flag is required to be interpreted (oranalyzed). However, when the service_destination_IP_address_flag is setto ‘0’, the service_destination_IP_address_flag is not required to beinterpreted (or analyzed). Herein, if theservice_destination_IP_address_flag is set to ‘1’, and if theIP_version_flag field is set to ‘0’, the service_destination_IP_addressfield indicates a 32-bit destination IPv4 address for the correspondingmobile service. Alternatively, if theservice_destination_IP_address_flag is set to ‘1’, and if theIP_version_flag field is set to ‘1’, the service_destination_IP_addressfield indicates a 64-bit destination IPv6 address for the correspondingmobile service. In case the corresponding service_destination_IP_addressfield cannot be interpreted, the component_destination_IP_address fieldwithin the num_components loop shall be interpreted. And, in this case,the receiving system shall use the component_destination_IP_address inorder to access the IP stream component. (That is, thisservice_destination_IP_address field shall be present if theservice_destination_IP_address_flag is set to ‘1’ and shall not bepresent if the service_destination_IP_address_flag is set to ‘0’. Ifthis service_destination_IP_address is not present, then thecomponent_destination_IP_address field shall be present for eachcomponent in the num_components loop. The conditional use of the 128bit-long address version of this field is to facilitate possible use ofIPv6 in the future, although use of IPv6 is not currently defined).

In the case where the service is an NRT service, theservice_destination_IP_Address field is signaled if a destination IPaddress of the session level of the FLUTE session is present.

On the other hand, the SMT according to this embodiment providesinformation of a plurality of components using the ‘for’ loop.

Thereafter, the ‘for’ loop, which is also referred to as a “componentloop”, is executed the same number of times as the number of componentscorresponding to the num_components field value to provide accessinformation of a plurality of components. That is, access information ofeach of the components included in the NRT service is provided. In thiscase, it is possible to provide the following field information for eachcomponent. Here, in an embodiment, one component corresponds to oneFLUTE session.

An essential_component_indicator field (1 bit) indicates that thecorresponding component is an essential component for the mobile serviceif this field value is set to ‘1’. Otherwise, this field indicates thatthe corresponding component is optional. (That is, thisessential_component_indicator field is a one-bit indicator which, whenset to ‘1’, shall indicate that this component is an essential componentfor the service. Otherwise, this field indicates that this component isan optional component).

A component_destination_IP_address_flag field (1 bit) is a flag thatindicates that a component_destination_IP_address field is present forthe corresponding component if the flag is set to ‘1’. (That is, thiscomponent_destination_IP_address_flag is a 1-bit Boolean flag that shallindicate, when set to ‘1’, that the component_destination_IP_address ispresent for this component).

A port_num_count field (6 bits) indicates the number of UDP portsassociated with the corresponding UDP/IP stream component. Thedestination UDP port number value starts from thecomponent_destination_UDP_port_num field value and increments by 1.(That is, this field shall indicate the number of destination UDP portsassociated with this UDP/IP stream component. The values of thedestination UDP port numbers shall start from thecomponent_destination_UDP_port_num field and shall be incremented byone, except in the case of RTP streams, when the destination UDP portnumbers shall start from the component_estination_UPD_port_num field andshall be incremented by two, to allow for the RTCP streams associatedwith the RTP streams).

A destination_UDP_port_num field (16 bits) indicates a destination UDPport number for the corresponding IP stream component. For RTP streams,the value of component_estination_UDP_port_num shall be even, and thenext higher value shall represent the destination UDP port number of theassociated RTCP stream. (That is, the 16-bit unsigned integer field,that represents the destination UDP port number for this UDP/IP streamcomponent. For RTP streams, the value ofcomponent_estination_UDP_port_num shall be even, and the next highervalue shall represent the destination UDP port number of the associatedRTCP stream).

A component_destination_IP_address field (32 bits or 128 bits) indicatesa 32-bit destination IPv4 address for the corresponding IP streamcomponent when the IP_version_flag field is set to ‘0’. Furthermore,when the IP_version_flag field is set to ‘1’, thecomponent_destination_IP_address field indicates a 128-bit destinationIPv6 address for the corresponding IP stream component. (That is, thisfield shall be present if the component_destination_IP_address_flag isset to ‘1’ and shall not be present if thecomponent_destination_IP_address_flag is set to ‘0’. When this field ispresent, the destination address of the IP datagrams carrying thiscomponent of the M/H Service shall match the address in this field. Whenthis field is not present, the destination address of the IP datagramscarrying this component shall match the address in theM/H_service_destination_IP_address field. The conditional use of the 128bit-long address version of this field is to facilitate possible use ofIPv6 in the future, although use of IPv6 is not currently defined).

A num_component_level_descriptors field (4 bits) indicates the number ofdescriptors that provide additional information about the componentlevel.

The same number of descriptors component_level_descriptor( ) as a numbercorresponding to the num_component_level_descriptors field value areincluded in the component loop to provide additional information aboutthe component.

A num_service_level_descriptors field (4 bits) indicates the number ofdescriptors that provide additional information about the service level.

The same number of descriptors service_level_descriptor( ) as a numbercorresponding to the num_service_level_descriptors field value areincluded in the service loop to provide additional information about theservice.

A num_ensemble_level_descriptors field (4 bits) indicates the number ofdescriptors that provide additional information about the ensemblelevel.

The same number of descriptors ensemble_level_descriptor( ) as a numbercorresponding to the num_ensemble_level_descriptors field value areincluded in the ensemble loop to provide additional information aboutthe ensemble.

On the other hand, in the SMT of FIG. 30, the component_descriptor( ) asshown in FIG. 16 can also be provided as thecomponent_level_descriptors.

The component_descriptor( ) is used as one of the component leveldescriptor component_level_descriptors( ) of the SMT and describesadditional signaling information of the corresponding component.

Accordingly, in a mobile NRT service, signaling information required toreceive a corresponding FLUTE session can also be provided using thecomponent_descriptor( ) descriptor of FIG. 16.

For example, if the component_type field value of thecomponent_descriptor( ) of FIG. 16 is 38, the component_data(component_type) field provides data for FLUTE file delivery as shown inFIG. 17. A description of the fields of FIGS. 16 and 17 is omittedherein since they have already been described above.

Media object association information may also be provided in the SMT ofFIG. 30.

In an embodiment, when media object association information is present,the NRT_media_object_association_descriptor( ) as shown in FIG. 12 isprovided as a component level descriptor. In this case, the receiverparses all descriptors included in the component level descriptor. Here,an NRT_media_object_association_descriptor( ) can be identified usingthe identifier of the descriptor. A description of each field of theNRT_media_object_association_descriptor and a procedure for extractingmedia object association information in text format from theNRT_media_object_association_descriptor( ) is omitted herein sincereference can be made to the above description of the NST of FIG. 12.Here, a media_object_association_indicator field (1 bit) may also beallocated to the SMT of FIG. 30 in order to indicate whether or not anNRT_media_object_association_descriptor( ) is present in the componentloop.

In another embodiment, media object association information may also beprovided using a component_descriptor( ) as shown in FIG. 16. Here, thecomponent_type field value may use a value between 43 and 71. In anembodiment of the present invention, 43 is allocated to thecomponent_type field value to provide the media object associationinformation as component data. The illustrated number is only an exampleand does not limit the scope of the present invention. That is, if thecomponent_type field value is 43, the component_data (component_type)field provides component data for media object association informationas shown in FIG. 18. A description of each field of FIG. 17 is omittedherein since reference can be made to FIG. 12.

In another embodiment, when media object association information isprovided using the component_descriptor( ) as shown in FIG. 16, one ofthe values in a dynamic range of 96-127 may also be allocated to thecomponent_type field value. In this case, the media object associationinformation may be provided using the component data as shown in FIG.19. In FIG. 19, a value of 0x2 or a value in a range of 0x4-0xF may beallocated to the general_media_type field value and media objectassociation information may be provided in text format using themedia_type_text( ) field and the decoding_parameters_text( ) field. InFIG. 19, a media_type_text_length field (8 bits) indicates the bytelength of a subsequent media_type_text( ) character string. (That is,this field shall specify the length (in bytes) of the media_type_text( )character string.) The media_type_text( ) field indicates a media typethat identifies the encoding format. That is, this field indicates, intext format, the encoding format of a stream corresponding to thegeneral media type. A decoding_parameters_text_length field (8 bits)indicates the byte length of a subsequent decoding_parameters_text( )character string. (That is, this field shall specify the length (inbytes) of the decoding_parameters_text( ) character string.) Thedecoding_parameters_text( ) field indicates, in text format, decodingparameters of a stream corresponding to the general media type.

In an embodiment, the media_type_text( ) field and thedecoding_parameters_text( ) field provide the encoding format and thedecoding parameter in text format expressed in a Multipurpose InternetMail Extensions (MIME) type.

That is, all information that are necessary for receiving the FLUTEsession can be provided by performing signaling through component databytes and information of all files that are transmitted through a FLUTEsession can be obtained using an FDT received through the FLUTE session.Thus, it is possible to receive NRT service data.

At least container information, encoding information, or a media objectdecoding parameter, which are necessary for rendering the content/filesof the NRT service according to the present invention, are signaled foreach component in the corresponding NST.

On the other hand, according to the present invention, at least onecontainer information, encoding information, or a media object decodingparameter, which are necessary for rendering the content/files of theNRT service, can be transmitted in OMA BCAST Service Guide (SG)information. Accordingly, for each of contents, the reception system canextract container information, encoding information, and a media objectdecoding parameter, which are necessary for rendering the content, anduse the extracted information to perform rendering of the content.

FIG. 31 illustrates an embodiment of a reception system that canreceive, store, and present NRT content for a mobile NRT service. InFIG. 31, a solid arrow denotes a data path and a dotted arrow denotes acontrol signal path.

The receiving system according to the present invention may include anoperation controller 2100, a tuner 2111, a demodulator 2112, anequalizer 2113, a known sequence detector (or known data detector) 2114,a block decoder 2115, a primary Reed-Solomon (RS) frame decoder 2116, asecondary RS frame decoder 2117, a signaling decoder 2118, and abaseband controller 2119. The receiving system according to the presentinvention may further include an FIC handler 2121, a service manager2122, a service signaling handler 2123, and a first storage unit 2124.The receiving system according to the present invention may furtherinclude a primary RS frame buffer 2131, a secondary RS frame buffer2132, and a transport packet (TS) handler 2133. The receiving systemaccording to the present invention may further include an InternetProtocol (IP) datagram handler 2141, a descrambler 2142, an UserDatagram Protocol (UDP) datagram handler 2143, a Real-time TransportProtocol/Real-time Transport Control Protocol (RTP/RTCP) datagramhandler 2144, a Network Time Protocol (NTP) datagram handler 2145, aservice protection stream handler 2146, a second storage unit 2147, anAsynchronous Layered Coding/Layered Coding Transport (ALC/LCT) streamhandler 2148, an Extensible Mark-up Language (XML) parser 2150, and aField Device Tool (FDT) handler 2151. The receiving system according tothe present invention may further include an Audio/Video (A/V) decoder2161, a file decoder 2162, a third storage unit 2163, a middle ware(M/W) engine 2164, and a Service Guide (SG) handler 2165. The receivingsystem according to the present invention may further include anElectronic Program Guide (EPG) manager 2171, an application manager2172, and an User Interface (UI) manager 2173.

Herein, for simplicity of the description of the present invention, theoperation controller 2100, the tuner 2111, the demodulator 2112, theequalizer 2113, the known sequence detector (or known data detector)2114, the block decoder 2115, the primary RS frame decoder 2116, thesecondary RS frame decoder 2117, the signaling decoder 2118, and thebaseband controller 2119 will be collectively referred to as a basebandprocessor 2110. The FIC handler 2121, the service manager 2122, theservice signaling handler 2123, and the first storage unit 2124 will becollectively referred to as a service multiplexer 2120. The primary RSframe buffer 2131, the secondary RS frame buffer 2132, and the TShandler 2133 will be collectively referred to as an IP adaptation module2130. The IP datagram handler 2141, the descrambler 2142, the UDPdatagram handler 2143, the RTP/RTCP datagram handler 2144, the NTPdatagram handler 2145, the service protection stream handler 2146, thesecond storage unit 2147, the ALC/LCT stream handler 2148, the XMLparser 2150, and the FDT handler 2151 will be collectively referred toas a common IP module 2140. The A/V decoder 2161, the file decoder 2162,the third storage unit 2163, the M/W engine 2164, and the SG handler2165 will be collectively referred to as an application module 2160.

In addition, although the terms used in FIG. 31 are selected fromgenerally known and used terms, some of the terms mentioned in thedescription of FIG. 31 have been selected by the applicant at his or herdiscretion, the detailed meanings of which are described in relevantparts of the description herein. Furthermore, it is required that thepresent invention is understood, not simply by the actual terms used butby the meaning of each term lying within.

Referring to FIG. 31, the baseband controller 2119 controls theoperation of each block included in the baseband processor 2110.

By tuning the receiving system to a specific physical channel frequency(or physical transmission channel frequency, PTC), the tuner 2111enables the receiving system to receive main service data, whichcorrespond to broadcast signals for fixed-type broadcast receivingsystems, and mobile service data, which correspond to broadcast signalsfor mobile broadcast receiving systems. At this point, the tunedfrequency of the specific physical channel is down-converted to anintermediate frequency (IF) signal, thereby being outputted to thedemodulator 2112 and the known sequence detector 2114. Morespecifically, the tuner 2111 may receive main service data and mobileservice data which are real-time service data, and receive non-real timeservice data.

The passband digital IF signal being outputted from the tuner 2111 mayonly include main service data, or only include mobile service data, orinclude both main service data and mobile service data.

The demodulator 2112 performs self-gain control, carrier recovery, andtiming recovery processes on the passband digital IF signal inputtedfrom the tuner 2111, thereby modifying the IF signal to a basebandsignal. Then, the demodulator 2112 outputs the baseband signal to theequalizer 2113 and the known sequence detector 2114. The demodulator2112 uses the known data symbol sequence inputted from the knownsequence detector 2114 during the timing and/or carrier recovery,thereby enhancing the demodulating performance. The equalizer 2113compensates channel-associated distortion included in the signaldemodulated by the demodulator 2112. Then, the equalizer 2113 outputsthe distortion-compensated signal to the block decoder 2115. By using aknown data symbol sequence inputted from the known sequence detector2114, the equalizer 2113 may enhance the equalizing performance.Furthermore, the equalizer 2113 may receive feed-back on the decodingresult from the block decoder 2115, thereby enhancing the equalizingperformance.

The known sequence detector 2114 detects known data place (or position)inserted by the transmitting system from the input/output data (i.e.,data prior to being demodulated or data being processed with partialdemodulation). Then, the known sequence detector 2114 outputs thedetected known data position information and known data sequencegenerated from the detected position information to the demodulator2112, the equalizer 2113, and the baseband controller 2119.Additionally, in order to allow the block decoder 2115 to identify themobile service data that have been processed with additional encoding bythe transmitting system and the main service data that have not beenprocessed with any additional encoding, the known sequence detector 2114outputs such corresponding information to the block decoder 2115.

If the data channel-equalized by the equalizer 2113 and inputted to theblock decoder 2115 correspond to data processed with both block-encodingof serial concatenated convolution code (SCCC) method andtrellis-encoding by the transmitting system (i.e., data within the RSframe, signaling data), the block decoder 2115 may performtrellis-decoding and block-decoding as inverse processes of thetransmitting system. On the other hand, if the data channel-equalized bythe equalizer 2113 and inputted to the block decoder 2115 correspond todata processed only with trellis-encoding and not block-encoding by thetransmitting system (i.e., main service data), the block decoder 2115may perform only trellis-decoding.

The signaling decoder 2118 decodes signaling data that have beenchannel-equalized and inputted from the equalizer 2113. It is assumedthat the signaling data (or signaling information) inputted to thesignaling decoder 2118 correspond to data processed with bothblock-encoding and trellis-encoding by the transmitting system. Examplesof such signaling data may include transmission parameter channel (TPC)data and fast information channel (FIC) data.

For example, among the data that are being inputted, the signalingdecoder 2118 performs regressive turbo decoding of a parallelconcatenated convolution code (PCCC) method on data corresponding to thesignaling information region. Subsequently, the signaling decoder 2118separates FIC data and TPC data from the regressive-turbo-decodedsignaling data. Additionally, the signaling decoder 2118 performsRS-decoding as inverse processes of the transmitting system on theseparated TPC data, thereby outputting the processed data to thebaseband controller 2119. Also, the signaling decoder 2118 performsdeinterleaving in sub-frame units on the separated FIC data, so as toperform RS-decoding as inverse processes of the transmitting system onthe deinterleaved FIC data, thereby outputting the processed data to theFIC handler 2121. The FIC data being deinterleaved and RS-decoded fromthe signaling decoder 2118 and outputted to the FIC handler 2121 aretransmitted in units of FIC segments.

The FIC handler 2121 receives FIC data from the signaling decoder 2118,so as to extract signaling information for service acquisition (i.e.,mapping information between an ensemble and a mobile service). In orderto do so, the FIC handler 2121 may include an FIC segment buffer, an FICsegment parser, and an FIC chunk parser.

The FIC segment buffer buffers FIC segment groups being inputted in M/Hframe units from the signaling decoder 2118, thereby outputting thebuffered FIC segment groups to the FIC segment parser. Thereafter, theFIC segment parser extracts the header of each FIC segment stored in theFIC segment buffer so as to analyze the extracted headers. Then, basedupon the analyzed result, the FIC segment parser outputs the payload ofthe respective FIC segments to the FIC chunk parser. The FIC chunkparser uses the analyzed result outputted from the FIC segment parser soas to recover the FIC chunk data structure from the FIC segmentpayloads, thereby analyzing the received FIC chunk data structure.Subsequently, the FIC chunk parser extracts the signaling informationfor service acquisition. The signaling information acquired from the FICchunk parser is outputted to the service manager 2122.

Meanwhile, the service signaling handler 2123 includes a servicesignaling buffer and a service signaling parser. The service signalinghandler 2123 buffers table sections (for example, SMT sections) of aservice signaling channel received from the UDP datagram handler 2143and analyzes and processes the buffered table sections. The SMTinformation processed by the service signaling handler 2123 is alsooutput to the service manager 2122.

In an embodiment, the SMT section or a service signaling channel thatcarries the SMT section is received within a corresponding RS frame in aformat of a UDP/IP packet that has a well-known IP destination addressand a well-known destination UDP port number. Accordingly, the receptionsystem can parse each SMT section and descriptors of each SMT sectionwithout requiring additional information.

The SMT section provides signaling information (including IP accessinformation) of all services in an ensemble that includes the SMTsection. Therefore, the reception system can provide a service desiredby the user to the user by accessing an IP stream component belonging tothe desired service using the information parsed from the SMT.

If the service is an NRT service, access information of a FLUTE sessionthat carries the content/files that constitute the NRT service andsignaling information required to perform rendering of the NRT servicecan be extracted from the SMT. For example, information necessary forrendering the content/files of an NRT service transmitted through eachFLUTE session can be extracted from the SMT. The information necessaryfor rendering the content/files of the NRT service may be containerinformation, encoding information, or a media object decoding parameter.

The information parsed from the SMT is collected by the service manager2122 and is then stored in the first storage unit 2124. The servicemanager 2122 stores the information extracted from the SMT in the firststorage unit 2124 in a service map and guide data format.

That is, the service manager 2122 uses the signaling informationcollected from each of the FIC handler 2121 and the service signalinghandler 2123, so as to configure a service map. Thereafter, the servicemanager 2122 uses a service guide (SG) collected from the service guide(SG) handler 2165 so as to draw up a program guide. Then, the servicemanager 2122 controls the baseband controller 2119 so that a user canreceive (or be provided with) a user-requested mobile service byreferring to the service map and service guide. Furthermore, the servicemanager 2122 may also control the system so that the program guide canbe displayed on at least a portion of the display screen based upon theuser's input.

The first storage unit 2124 stores the service map and service guidedrawn up by the service manager 2122. Also, based upon the requests fromthe service manager 2122 and the EPG manager 2171, the first storageunit 2124 extracts the required data, which are then transferred to theservice manager 2122 and/or the EPG manager 2171.

The baseband controller 2119 receives the known data place informationand TPC data, thereby transferring M/H frame time information,information indicating whether or not a data group exists in a selectedparade, place information of known data within a corresponding datagroup, power control information, and so on to each block within thebaseband processor 2110. The TPC data will be described in detail in alater.

Meanwhile, according to the present invention, the transmitting systemuses RS frames by encoding units. Herein, the RS frame may be dividedinto a primary RS frame and a secondary RS frame. However, according tothe embodiment of the present invention, the primary RS frame and thesecondary RS frame will be divided based upon the level of importance ofthe corresponding data.

The primary RS frame decoder 2116 receives, as an input, the output ofthe block decoder 2115. Here, in an embodiment, the primary RS framedecoder 2116 receives mobile service data or NRT service data, which hasbeen encoded through Reed Solomon (RS) encoding and/or Cyclic RedundancyCheck (CRC) encoding, from the block decoder 2115. The primary RS framedecoder 2116 may also receive SMT section data or OMA BCAST SG data,which has been encoded through Reed Solomon (RS) encoding and/or CyclicRedundancy Check (CRC) encoding, from the block decoder 2115.

That is, the primary RS frame decoder 2116 receives data that is notmain service data, for example, at least one of mobile service data, NRTservice data, SMT section data, and OMA BCAST SG data.

The primary RS frame decoder 2116 performs inverse processes of an RSframe encoder (not shown) included in the digital broadcast transmittingsystem, thereby correcting errors existing within the primary RS frame.More specifically, the primary RS frame decoder 2116 forms a primary RSframe by grouping a plurality of data groups and, then, correct errorsin primary RS frame units. In other words, the primary RS frame decoder2116 decodes primary RS frames, which are being transmitted for actualbroadcast services. The primary RS frame decoded by the primary RS framedecoder 2116 outputs to the primary RS frame buffer 2131. The primary RSframe buffer 2131 buffers the primary RS frame, and then configures anM/H TP in each row unit. The M/H TPs of the primary RS frame outputs tothe TP handler 2133.

Additionally, the secondary RS frame decoder 2117 receives, as an input,the output of the block decoder 2115. Herein, in an embodiment, thesecondary RS frame decoder 2117 receives mobile service data or NRTservice data, which has been encoded through Reed Solomon (RS) encodingand/or Cyclic Redundancy Check (CRC) encoding, from the block decoder2115. The secondary RS frame decoder 2117 may also receive SMT sectiondata or OMA BCAST SG data, which has been encoded through Reed Solomon(RS) encoding and/or Cyclic Redundancy Check (CRC) encoding, from theblock decoder 2115.

That is, the secondary RS frame decoder 2117 receives data that is notmain service data, for example, at least one of mobile service data, NRTservice data, SMT section data, and OMA BCAST SG data.

The secondary RS frame decoder 2117 performs inverse processes of an RSframe encoder (not shown) included in the digital broadcast transmittingsystem, thereby correcting errors existing within the secondary RSframe. More specifically, the secondary RS frame decoder 2117 forms asecondary RS frame by grouping a plurality of data groups and, then,correct errors in secondary RS frame units. In other words, thesecondary RS frame decoder 2117 decodes secondary RS frames, which arebeing transmitted for actual broadcast services. The secondary RS framedecoded by the secondary RS frame decoder 2117 outputs to the secondaryRS frame buffer 2132. The secondary RS frame buffer 2132 buffers thesecondary RS frame, and then configures an M/H TP in each row unit. TheM/H TPs of the secondary RS frame outputs to the TP handler 2133.

The TP handler 2133 consists of a TP buffer and a TP parser. The TPhandler 2133 buffers the M/H TPs inputted from the primary RS framebuffer 2131 and the secondary RS frame buffer 2132, and then extractsand analyzes each header of the buffered M/H TPs, thereby recovering IPdatagram from each payload of the corresponding M/H TPs. The recoveredIP datagram is outputted to the IP datagram handler 2141.

The IP datagram handler 2141 consists of an IP datagram buffer and an IPdatagram parser. The IP datagram handler 2141 buffers the IP datagramdelivered from the TP handler 2133, and then extracts and analyzes aheader of the buffered IP datagram, thereby recovering UDP datagram froma payload of the corresponding IP datagram. The recovered UDP datagramis outputted to the UDP datagram handler 2143.

If the UDP datagram is scrambled, the scrambled UDP datagram isdescrambled by the descrambler 2142, and the descrambled UDP datagram isoutputted to the UDP datagram handler 2143. For example, when the UDPdatagram among the received IP datagram is scrambled, the descrambler2142 descrambles the UDP datagram by inputting an encryption key and soon from the service protection stream handler 2146, and outputs thedescrambled UDP datagram to the UDP datagram handler 2143.

The UDP datagram handler 2143 consists of an UDP datagram buffer and anUDP datagram parser. The UDP datagram handler 2143 buffers the UDPdatagram delivered from the IP datagram handler 2141 or the descrambler2142, and then extracts and analyzes a header of the buffered UDPdatagram, thereby recovering data transmitted through a payload of thecorresponding UDP datagram. If the recovered data is an RTP/RTCPdatagram, the recovered data is outputted to the RTP/RTCP datagramhandler 2144. If the recovered data is also an NTP datagram, therecovered data is outputted to the NTP datagram handler 2145.Furthermore, if the recovered data is a service protection stream, therecovered data is outputted to the service protection stream handler2146. And, if the recovered data is an ALC/LCT stream, the recovereddata is outputted to the ALC/LCT steam handler 2148. Also, when therecovered data is SMT section data, the recovered data output to theservice signaling section handler 2123.

Since the SMT section or the service signaling channel that carries theSMT section is an IP datagram having a well-known IP destination addressand a well-known destination UDP port number, the IP datagram handler2141 and the UDP datagram handler 2143 can output data including the SMTsection to the service signaling section handler 2123 without requiringadditional information.

The RTP/RTCP datagram handler 2144 consists of an RTP/RTCP datagrambuffer and an RTP/RTCP datagram parser. The RTP/RTCP datagram handler2144 buffers the data of RTP/RTCP structure outputted from the UDPdatagram handler 2143, and then extracts A/V stream from the buffereddata, thereby outputting the extracted A/V stream to the A/V decoder2161.

The A/V decoder 2161 decodes the audio and video streams outputted fromthe RTP/RTCP datagram handler 2144 using audio and video decodingalgorithms, respectively. The decoded audio and video data is outputtedto the presentation manager 2170. Herein, at least one of an AC-3decoding algorithm, an MPEG 2 audio decoding algorithm, an MPEG 4 audiodecoding algorithm, an AAC decoding algorithm, an AAC+ decodingalgorithm, an HE AAC decoding algorithm, an AAC SBR decoding algorithm,an MPEG surround decoding algorithm, and a BSAC decoding algorithm canbe used as the audio decoding algorithm and at least one of an MPEG 2video decoding algorithm, an MPEG 4 video decoding algorithm, an H.264decoding algorithm, an SVC decoding algorithm, and a VC-1 decodingalgorithm can be used as the audio decoding algorithm.

The NTP datagram handler 2145 consists of an NTP datagram buffer and anNTP datagram parser. The NTP datagram handler 2145 buffers data havingan NTP structure, the data being outputted from the UDP datagram handler2143. Then, the NTP datagram handler 2145 extracts an NTP stream fromthe buffered data. Thereafter, the extracted NTP stream is outputted tothe A/V decoder 2161 so as to be decoded.

The service protection stream handler 2146 may further include a serviceprotection stream buffer. Herein, the service protection stream handler2146 buffers data designated (or required) for service protection, thedata being outputted from the UDP datagram handler 2143. Subsequently,the service protection stream handler 2146 extracts information requiredfor descrambling from the extracted data. The information required fordescrambling includes a key value, such as SKTM and LKTM. Theinformation for descrambling is stored in the second storage unit 2147,and, when required, the information for descrambling is outputted to thedescrambler 2142.

The ALC/LCT stream handler 2148 consists of an ALC/LCT stream buffer andan ALC/LCT stream parser. And, the ALC/LCT stream handler 2148 buffersdata having an ALC/LCT structure, the data being outputted from the UDPdatagram handler 2143. Then, the ALC/LCT stream handler 2148 analyzes aheader and a header expansion of an ALC/LCT session from the buffereddata. Based upon the analysis result of the header and header expansionof the ALC/LCT session, when the data being transmitted to the ALC/LCTsession correspond to an XML structure, the corresponding data areoutputted to an XML parser 2150. Alternatively, when the data beingtransmitted to the ALC/LCT session correspond to a file structure, thecorresponding data are outputted to a file decoder 2162. At this point,when the data that are being transmitted to the ALC/LCT session arecompressed, the compressed data are decompressed by a decompressor 2149,thereby being outputted to the XML parser 2150 or the file decoder 2162.

The XML parser 2150 analyses the XML data being transmitted through theALC/LCT session. Then, when the analyzed data correspond to datadesignated to a file-based service, the XML parser 2150 outputs thecorresponding data to the FDT handler 2151. On the other hand, if theanalyzed data correspond to data designated to a service guide, the XMLparser 2150 outputs the corresponding data to the SG handler 2165. TheFDT handler 2151 analyzes and processes a file description table of aFLUTE protocol, which is transmitted in an XML structure through theALC/LCT session.

The SG handler 2165 collects and analyzes the data designated for aservice guide, the data being transmitted in an XML structure, therebyoutputting the analyzed data to the service manager 2122.

The file decoder 2162 decodes the data having a file structure and beingtransmitted through the ALC/LCT session, thereby outputting the decodeddata to the middleware engine 2164 or storing the decoded data in athird storage unit 2163. Herein, the middleware engine 2164 translatesthe file structure data (i.e., the application) and executes thetranslated application. Thereafter, the application may be outputted toan output device, such as a display screen or speakers, through theapplication presentation manager 2170. According to an embodiment of thepresent invention, the middleware engine 2164 corresponds to aJAVA-based middleware engine.

Based upon a user-input, the EPG manager 2171 receives EPG data eitherthrough the service manager 2122 or through the SG handler 2165, so asto convert the received EPG data to a display format, thereby outputtingthe converted data to the presentation manager 2170.

The application manager 2172 performs overall management associated withthe processing of application data, which are being transmitted inobject formats, file formats, and so on. Furthermore, based upon auser-command inputted through the UI manager 2173, the operationcontroller 2100 controls at least one of the service manager 2122, theEPG manager 2171, the application manager 2172, and the presentationmanager 2170, so as to enable the user-requested function to beexecuted.

The UI manager 2173 transfers the user-input to the operation controller2100 through the UI.

Finally, the presentation manager 2170 provides at least one of theaudio and video data being outputted from the A/V decoder 2161 and theEPG data being outputted from the EPG manager 2171 to the user throughthe speaker and/or display screen.

Herein, one of the service signaling section handler 2123 and theservice manager 2122 obtains IP access information associated with aFLUTE session that carries the content/files of the NRT service from thecomponent loop of the SMT of FIG. 30. In addition, when anNRT_media_object_association_descriptor( ) is received within thecomponent loop of the NST), media object association informationassociated with the FLUTE session is extracted from theNRT_media_object_association_descriptor( ). In an embodiment, the mediaobject association information is provided in a MIME type text format.Here, the media object association information is directly described intext format in the NRT_media_object_association_descriptor( ) or isprovided in text format within a stream or file. In the case where themedia object association information is transmitted in a stream or fileformat, the NRT_media_object_association_descriptor( ) provides accessinformation used to receive the stream or file. In addition, in the casewhere the media object association information is transmitted in a fileformat, the NRT_media_object_association_descriptor( ) signalsparameters required to receive the FLUTE session that carries the file.The media object association information includes container information,encoding information, a media object decoding parameter, or the likethat are necessary for rendering the content/files of the NRT service.In another embodiment, the media object association information can alsobe extracted using a component_descriptor( ) that is received within thecomponent loop. A description of the procedure for extracting the mediaobject association information is omitted herein since it has alreadybeen described above in detail.

In addition, FLUTE level access information can be obtained using thecomponent_descriptor( ). Then, the ALC/LCT stream handler 2148 and thefile decoder 2162 access the FLUTE file delivery session using theobtained FLUTE level access information to collect files that arereceived through the session. The files are collected to construct oneNRT service. This NRT service is stored in the third storage unit 2163or is output to the middleware engine 2164 or the A/V decoder 2161 to bedisplayed on the display.

The broadcast signal reception method and the reception system accordingto the present invention can efficiently combine and provide a real-timebroadcast service and a non-real-time broadcast service.

In addition, according to the present invention, it is possible toprovide access information of each FLUTE session for a fixed NRT serviceand a mobile NRT service in the IP layer. It is also possible to receiveinformation necessary for rendering the content/files of an NRT service,which is transmitted through the FLUTE session, through an IP-basedsignaling information channel.

Further, the reception system according to the present invention canreceive information necessary for rendering the content/files of an NRTservice and to determine whether or not to process the NRT serviceaccording to the received information. That is, even when an NRT serviceis received, the reception system does not process the NRT service ifthe received information includes information that cannot be processedby the reception system, for example, if the reception system has nocodec capable of decoding the NRT service.

The present invention is not limited to the above embodiments and itwill be apparent to those skilled in the art that various modificationscan be made to in the present invention as can be seen from the appendedclaims and such modifications are included in the scope of theinvention.

1-16. (canceled)
 17. A method of transmitting a broadcast signal for anon-real-time (NRT) service, the method comprising: generating thebroadcast signal including the NRT service that is a broadcast servicedelivered in advance of its use and signaling data for signaling the NRTservice; and transmitting the NRT service via a broadcast channel andthe signaling data via a service signaling channel with a specificInternet Protocol (IP) address and a user datagram protocol (UDP) portnumber, wherein the signaling data includes a service map table and aNRT content table, wherein the NRT content table contains firstinformation describing NRT content included in the NRT service, whereinthe NRT content is available for download to storage in a broadcastreceiving device, wherein the first information includes download timeinformation specifying times during which the NRT content delivered inat least one FLUTE session is to be made available for download, whereinthe NRT content is segmented into files that are delivered in the atleast one FLUTE session, wherein the service map table containsservice-level attributes for the NRT service including the NRT content,second information used as a link from the service map table to the tothe NRT content table, and NRT service status information identifying astatus of the NRT service, wherein a most significant bit of the NRTservice status information indicates whether the NRT service is activeor inactive, wherein a least significant bit of the NRT service statusinformation indicates whether or not the NRT service is hidden, andwherein the NRT content table further contains content title informationspecifying a title of the NRT content and content title lengthinformation specifying a length of the content title information. 18.The method of claim 17, wherein the NRT content table further containscontent identification information specifying an identifier of the NRTcontent.
 19. The method of claim 18, wherein the NRT content tablefurther contains update information specifying whether an update isexpected for the NRT content.
 20. An apparatus for receiving a broadcastsignal for a non-real-time (NRT) service, the apparatus comprising: atuner configured to receive the broadcast signal including the NRTservice that is a broadcast service delivered in advance of its use andsignaling data for signaling the NRT service by receiving the NRTservice via a broadcast channel and the signaling data via a servicesignaling channel with a specific Internet Protocol (IP) address and auser datagram protocol (UDP) port number; a processor configured toparse a service map table containing service-level attributes for theNRT service including NRT content from the signaling data, to obtainfirst information used as a link to an NRT content table from theservice map table, and to parse the NRT content table containing secondinformation describing the NRT content available for download, whereinthe second information includes download time information specifyingtimes during which the NRT content delivered in at least one FLUTEsession is to be made available for download, wherein the NRT content issegmented into files that are delivered in the at least one FLUTEsession; and a storage unit configured to store the NRT contentdescribed by the second information, wherein the service map tablefurther contains NRT service status information identifying a status ofthe NRT service, wherein a most significant bit of the NRT servicestatus information indicates whether the NRT service is active orinactive, wherein a least significant bit of the NRT service statusinformation indicates whether or not the NRT service is hidden, andwherein the NRT content table further contains content title informationspecifying a title of the NRT content and content title lengthinformation specifying a length of the content title information. 21.The apparatus of claim 20, wherein the NRT content table furthercontains content identification information specifying an identifier ofthe NRT content.
 22. The apparatus of claim 21, wherein the NRT contenttable further contains update information specifying whether an updateis expected for the NRT content.